VS2010 + Framework4.0的远程调用之Break pointer cannot hit
这个错误困扰了我很久,从英文到法文到中文,google都翻到20页,也木有解决,写出来共勉
先介绍我的project情况
Ambite42金融软件,或说是个应用程序.exe运行在远程某一个服务器上,连接服务器使用的是管理员账号,登陆应用程序用的是公共账号(奔泪),我在本机运行VS2010,debug时Attach这个exe,出现的问题,可以检测到该程序一切运行,但是却不能断点调试,提示:
breakpointcannotbehit,nosymbolhasbeenloaded
检查Debugmodule时候,对应的exe程序找不到pdb文件,callstrack无任何反应
大众情况的解决办法
1.breakpoint右键Location,选Allowthesourcecodetobedifferentefromoriginalversion
2.在module对应地方点右键loadsymbolfrom...(如果你的pbd文件本身存在的话)
3.检查projectproperty的build是否为debug
4.Attachprocess的时候要选择类型selectcodetype为Native本机
远程调用解决办法
1.VSremotedebugger要在远程服务器上打开
C:\ProgramFiles\MicrosoftVisualStudio10.0\Common7\IDE\RemoteDebugger\
找到对应版本x64或x86,可以直接copy到服务器上,也可以建立共享,然后远程调用本机运行,建议copy啦,不喜欢绕来绕去的,copy整个文件夹,然后运行其中的MSVSMON.exe
2.Debug->Optionandsetting->debugging->general选
EnableJustMyCode
Enablesourceserversupport
3.general下面Native选enableRPCdebugging这个要看你的远程调用有没有callprotocol
4.下面symbol中,一般VS2010就把MSsymbolserver加进去了,没有的话可以自己加地址http://msdl.microsoft.com/download/symbols选择一个地方放这些symbol
5.VS需要是管理员身份,远程的话,防火墙exception里加入调用的程序,如果可以,尽量用一样的身份登陆VS服务器和应用程序,如果像我一样没办法一致,就需要在各自的security里面加入身份权限
6.附加的,因为我做的是应用程序的插件,projectbuild好之后,把bin下的dll文件copy到应用程序的plugins下,然后重新启动服务器
最后还是要抱怨下这个软件,也忒不成熟了,慢的要死,没有缓存,点一次要连一次数据库,软件贵,licence贵,附加功能更贵!发泄完毕!