vs2010远程调试断点无效问题

ps:本人按照下面的方式设置成功,个人感觉写的也比较清楚

来源:http://www.cnblogs.com/OpenCoder/archive/2010/02/17/1668983.html

?

vs支持远程调试但是对于通过?匿名调试的方式实际上是无法设置断点的,因为符号没有加载!要想调试,必须采用windows身份验证! 也就是和远程主机设置一样的用户名和密码.

VS是支持远程调试的,这样在自己公司就可以远程调试在客户机上的程序了

VS的远程调试分为两种:

直接远程调试:这种调试方法必须在有VS项目文件下才可以使用(因为被调试机的地址要在项目文件中设置),具体内容请见:http://www.cnblogs.com/tengs2000/articles/1070760.html? 里的方法一

附加进程调试:具体内容请见:http://www.cnblogs.com/tengs2000/articles/1070760.html? 里的方法二

这里我只说几个要值得注意的地方

1、附加进程调试又分为两种:(1)Window身份验证远程调试 (2)匿名远程调试

  • Windows身份远程调试在调试主机上VS里的附加进程要用默认模式,这里请注意不要被远程模式的字面意思欺骗了,"远程(无身份验证时仅限本机)"这个模式实际上指的是匿名远程调试需要输入被调试的主机名和端口号
  • Windows身份验证远程调试必须要在调试机和被调试机上使用相同用户名和密码的Windows账户,这样做是为了验证调试机的身份。
  • 将远程调试作为被调试机的服务可以免除"Windows身份验证远程调试必须要在调试机和被调试机上使用相同用户名和密码的Windows账户"这个限制,因为在设置windows服务的时候会要求输入允许进行调试的机器的登录名和密码,只要调试者在他的系统上使用该用户名和密码就可以使用远程调试。
  • 直接远程调试只支持Visual Studio?远程调试器上的windows身份验证调试模式,不支持将远程调试作为被调试机的服务和匿名远程调试
  • 使用匿名远程调试有个问题,附加进程上的被调试机进程没有用户名,导致VS上设置的断点全不起作用,感觉匿名远程调试如同虚设.....至今没有找到解决办法........
  • 使用匿名远程调试的时候如果在msvsmon上没有选择"允许任何用户进行调试"复选框,那么仍然有:"调试机和被调试机上使用相同用户名和密码的Windows账户"这个限制,但是就算是在匿名远程调试下使用相同的用户名和密码你还是会发现附加进程里出现的被调试机进程还是没有用户名,这仍然说明设置断点不起作用

2、设置

前提条件:

调试机和被调试机都在一个局域网内,且必须在一个网段
调试机和被调试机必须登录相同的用户,用户名必须一直
关闭防火墙或打开相应的端口,一般是4015
调试机和被调试机的本地安全策略中的网络访问必须改为"经典,本地用户以自己的身份验证",路径为控制面板->用户管理->本地安全设置->本地策略->安全选项->网络访问

?

调试方法:
至此有2种调试方法:一种是匿名调试,无需验证,一种是Window身份验证调试:

?匿名调试:

1.被调试机的msvsmon下选择工具->选项,点击无身份验证模式(只限本机)

2.之后可以看到主机名和IP,一般是hostname:4015的形式
3.调试机打开VS,选择附加到进程

4.传输选择远程(无身份验证时仅限本机)

5.限定符选择hostname:4015,之后刷新就可以看到进程列表了

Window身份验证调试:这种方法需要调试机和被调试机的用户名和密码完全一致

1.被调试机的msvsmon下选择工具->选项,点击windows身份验证

2.调试机打开VS,选择附加到进程

3.传输选择默认

4.限定符选择,之后刷新就可以看到进程列表了

时间: 2024-08-13 21:02:59

vs2010远程调试断点无效问题的相关文章

VS2010远程调试

VS2010远程调试 (虚拟机中无问题) 问题的产生是用自己编写的程序查看电脑中安装的系统的版本和是32位或者64位,我需要测试win8,我只是有一个win8的虚拟机系统,但其中没有安装任何IDE,不能够直接调试我的测试程序,所以省力的方法是远程调试.下面介绍方法: 一.用everything寻找Remote Debugger关键字定位到vs2010的安装目录中,或者直接寻找"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\

VS2010远程调试你的程序vc++/wpf/C#/MFC

VS2010远程调试你的程序vc++/wpf/C#/MFC 1 背景说明 在进行设备控制软件开发的时候,需要进行设备的上机调试.我们在安装了工作环境(VS2010+Access+流程图等软件)的电脑上编码写好待调试的软件之后,待机器零配件和电气安装好之后,再在设备上进行调试,这个时候,设备会自带自己的工控电脑,这个工控电脑没有安装代码调试的软件.一般的解决办法是,将开发所需要的所有软件在目标工控机上再安装一遍,然后将代码拷贝到目标机,然后在目标机上修改代码和调试代码.这样做有一下几个缺点. (1

VS2010远程调试C#程序

场景: 客户的计算机运行程序出现异常,由于办公场所不在一起,无法直接在客户的机器上调试.此时希望可以直接在开发人员的计算机(本地机器)上远程调试客户机上的软件. 假设: 本地机器的系统账户为 GIS,密码为 111 客户机器的计算机名为 Client 要调试的程序名称为 test.exe 解决方法: 1.客户机器配置 新建与本地机器一致的系统账户 要保证账户和密码一致 在控制面板 -> 用户账户 -> 添加GIS账户,并设置密码为111 切换到GIS账户中 开启远程服务 控制面板 ->

vs2010 远程调试WEB项目

这2天在做web项目扩展开发.碰到调试时甚是头疼.于是按照网上罗列的远程调试办法.进行调试,结果就不能命中断点. 很是恼火. 于是搜索了MSDN: 原来是人家不支持WEB的远程调试:怪不得不命中. 如果小伙伴们要远程调试WEB项目下载个VS2012吧.具体方法如下: MSDN有介绍:MSDN 系统要求:WIN7专业版.旗舰版 需要注意的是:一定要分清你的是64位还是86位的系统和服务器上的权限:

VS2010 断点无效肿么办?

[1]分析原理: 1. 断点无效是因为目标文件和源文件的更新时间不一致, 编译器不认为当前的源文件是目标文件的当前版本. 2. IDE不会关心源文件的编码格式,能读入即可, 另存为Unicode或ASCII格式无非是更新了文件的修改时间. 3. 源文件包含的头文件也是源文件的一部分,编译时会插入到#include的位置. [2]设置属性:不要求源文件与原始版本完全匹配 由VS2010主界面的<调试>----><选项与设置>----->[选项]对话框 或者:<工具&

.NET C#微信公众号开发远程断点调试(本地远程调试生产环境)

最近在做微信公众号开发,由于之前没有接触过,突然发现调试不方便,不方便进行断点跟踪调试.因为微信那边绑定的服务器地址必须是公网地址,但是还是想进行断点调试(毕竟这样太方便了) 因此上网搜了一下,发现好多是使用软件之类的进行请求转发从生产环境转发请求到开发环境上,发现有的太麻烦了. 突然想到Vs有一个附加到进程的远程调试.于是玩了一把.我们直接开始(服务器上就不要使用发布版本代码了,代码和本地开发一样,不然是不能调试的) 本篇是以开发环境的Visual Studio2013旗舰版以及生产环境里阿里

可以用命令行控制eclipse断点增加删除、远程调试创建与启动的插件

java # 创建断点(支持条件断点) curl -X PUT -H "Content-Type:application/json" --data '{"language":"java","condition":"i == 1","charStart":283,"charEnd":307,"lineNumber":16,"typeName

vs2012远程调试

不知道大家有没有遇到过这种情况,刚开发完的程序,明明在本机能够好好的运行,可是部署到服务器过分发给用户时,总是出现莫名其妙的错误. 一时半会又看不出问题来,怎么办呢?难道只能在服务器或是客户电脑上装一个vs.跟一下代码吗? 其实不用的,vs有一个远程调试的功能. 这个功能是这样的,程序在其他的电脑上运行,但是我们可以在本地电脑上进行断点跟踪. 下面以vs2012为例,为大家介绍一下无身份验证的远程调试(如果要用有身份验证,又没有域环境,参见最后的总结),同时也说一下vs2012与以前版本在远程调

idea14远程调试tomcat项目

场景如下:本地开发好代码之后,到qa那边提测,qa把同一份代码部署到自己的linux测试机. 远程调试的步骤如下: 1. 首先在IDEA中打开项目代码,并保证远程调试机器,也是同一份代码. 2. 因为我们用的是Tomcat,所以在IDEA中点击右上角那个"Edit Configurations"按钮,然后在弹出的界面中点击左上角的加号,选择tomcat server->remote 3. 在弹出的的界面中填写服务器的ip和工程的端口. 4. 然后点击那个弹出框的Starup/Co