通过打断点调试本地服务程序
来源:互联网 发布:linux网络管理命令 编辑:程序博客网 时间:2024/05/21 06:39
这几天被一个统一登录服务困扰着,折腾了好几次,最后还是得真正打断点进到服务代码才能找到错误的根源。之前浪费了不少时间。终于承认,找错误还是要找到根源上,而不是不断地假设问题所在点。当试了几个假设可能有问题的点的时候,还没有找到解决方法,这是深究到代码里面才是王道。
问题大致描述如下:现在有两个项目,一个lib,用作统一登录,一个文件系统(后面成为子系统),用作登陆后的菜单链接项目。他们之间有一个统一登录服务,即,在lib中登陆了,在子系统中是不需要再次登陆的,他们之间通过统一登录服务共享登陆信息。 问题出在lib登陆后进入index.aspx页面,同时调用了子系统的显示公告板页面。之前index.aspx不显示这个公告板的时候,是没有登陆丢失的问题的。现在会有登陆丢失。
其实这里已经找到原因了。一定是跟那个显示公告板有关系的。最后我在VS中运行服务项目,断点进去,发现token会在第三次的时候丢失,我才恍然明白,是lib的index.aspx页面增加了显示公告板的原因。子项目的显示公告板页面继承了BasePageExt.cs,该类中会判断当前是否有登陆信息。登录信息是通过lib请求子项目的地址连中加入参数ck,ck中保留登陆信息传给统一登录服务,子系统再调用服务,获取登陆信息的。而我现在并没有给显示公告页面传ck参数。所以一直报登陆丢失。至此我就明白了,搜噶。
现在说说怎么在VS运行本地服务,让断点进到服务里面吧。
说明:服务是本地VS程序,lib和子系统采用服务器上的。为了让断点进入服务,所以服务不能发布到本地的IIS,而是在VS上跑。
操作:(1)右击服务项目->"属性"->
注:为了实现在本地调试服务,所以要把端口号去掉,改用本地IIS服务的方式启动。这点很关键,要不然没法发在服务器上调用本机服务。
(2)把服务器上的lib项目和子项目的web.config的服务调用改成本机的:<add key="loginservice" value="http://171.186.109.56/AuthoriseService/Authorise.asmx" />
171.186.109.56是本机的以太网IP,且服务器能ping通
(3)运行lib项目,输入用户名和密码,登陆。然后就能进入到服务打的断点了。
- 通过打断点调试本地服务程序
- 通过eclipse直接打断点调试程序
- 程序调试要一步一步打断点
- 调试打断点无效解决方法
- Reveal打断点模拟器调试
- web 打断点调试用法
- 小程序怎么打断点
- vc++里面调试dll程序,在dll程序里面打断点,进入dll断点的方法
- vs2005打断点不能进行调试
- VS2012打断点调试挂掉
- 设置release 模式可打断点调试
- xamarin 项目 打断点不能调试
- visual studio 2013 调试打断点快捷键
- C#课堂笔记之打断点调试
- 在线/不重启/不暂停的对Java应用进行Debug,通过程序打断点并输出断点信息
- eclipse打断点调试进入到class文件中--解决方法
- Eclipse 打断点调试进入到class文件中
- chrome 一进入调试页面就会自动打断点
- 多线程对同一数据进行不同操作
- Merge Intervals
- 基于cocos2dx2.2版本安卓环境搭建常见错误解决方法
- 中崎收款机说明书 工厂用扫描枪和超市用扫描枪有何不同
- eclipse启动了tomcat正常,可页面还是404
- 通过打断点调试本地服务程序
- sed 'N;$!D' a
- Hashmap实现原理
- 设计模式:缺省适配器模式
- 集合学习(二)
- 如何开发微信公众号
- HDOJ 题目1452 Happy 2004()
- ceph存储 ceph文件系统测试工具filebench介绍
- 推荐 Chrome 神器 Vimium, 记录常用快捷键