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贵,附加功能更贵!发泄完毕!

相关推荐