欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VS2010 + Framework4.0的远程调用之Break pointer cannot hit Visual Studio远程调用breakPointNo symbol loaded 

程序员文章站 2022-06-08 23:23:20
...
这个错误困扰了我很久,从英文到法文到中文,google都翻到20页,也木有解决,写出来共勉
先介绍我的project情况
Ambite42金融软件,或说是个应用程序.exe运行在远程某一个服务器上, 连接服务器使用的是管理员账号,登陆应用程序用的是公共账号(奔泪),我在本机运行VS2010,debug时Attach这个exe,出现的问题,可以检测到该程序一切运行,但是却不能断点调试,提示:
breakpoint cannot be hit, no symbol has been loaded
检查Debug module时候,对应的exe程序找不到pdb文件, call strack无任何反应

大众情况的解决办法
1. breakpoint右键Location,选Allow the source code to be differente from original version
2. 在module对应地方点右键load symbol from ... (如果你的pbd文件本身存在的话)
3. 检查project property的build 是否为debug
4. Attach process的时候要选择类型select code type为Native本机

远程调用解决办法
1. VS remote debugger要在远程服务器上打开
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\
找到对应版本 x64或x86,可以直接copy到服务器上,也可以建立共享,然后远程调用本机运行,建议copy啦,不喜欢绕来绕去的,copy整个文件夹,然后运行其中的 MSVSMON.exe

2. Debug -> Option and setting -> debugging ->general 选
   Enable Just My Code
   Enable source server support

3. general下面 Native选 enable RPC debugging 这个要看你的远程调用有没有call protocol

4. 下面symbol中,一般VS2010就把MS symbol server加进去了,没有的话可以自己加地址  http://msdl.microsoft.com/download/symbols 选择一个地方放这些symbol

5. VS 需要是管理员身份,远程的话,防火墙exception里加入调用的程序,如果可以,尽量用一样的身份登陆VS 服务器和应用程序,如果像我一样没办法一致,就需要在各自的security里面加入身份权限

6. 附加的,因为我做的是应用程序的插件,project build好之后,把bin下的dll文件copy到应用程序的plugins下,然后重新启动服务器

最后还是要抱怨下这个软件,也忒不成熟了,慢的要死,没有缓存,点一次要连一次数据库,软件贵,licence贵,附加功能更贵!发泄完毕!