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.限定符选择,之后刷新就可以看到进程列表了
最新文章
- 我是一只IT小小鸟----读书笔记
- AngularJS 控制器 ng-controller
- 论一次iOS面试
- 【第41套测试题NOIP2007】【排序】【DP】【高精度】【树】【图上路径】
- Android IOS WebRTC 音视频开发总结(十二)-- sufaceview
- Intent传输数据的补充
- kail新手安装
- Ping pong
- eclipse中mavean的使用配置
- Android Blur效果之FastBlur
- 深挖BAT内部级别和薪资待遇,你敢看?(转)
- sql unique约束详解
- laravel部署创建新项目 助记
- Mac下写博客工具ecto相关资料
- Django之事务
- linux中结构体对齐【转】
- Java读取xml
- .net 架构
- C语言链表实现
- 使用 Solr 构建企业级搜索服务器
热门文章
- 获得网址的Https的SSL证书并且保存到truststore
- 文件操作之增删改查3---文件的修改,f.replace(),在linux里的一些应用sed,with语句方法来打开一个或多个文件避免忘记关闭,python一行写的太长,怎么编写多行的规范
- PHP 字符串 加*
- 内核中的内存申请:kmalloc、vmalloc、kzalloc、get_free_pages 之间的区别
- mac常用命令(随时更新)
- java成神之——注释修饰符
- Centos7 第三方仓库 yum 方式安装 PHP7.2
- 优化深度神经网络(二)优化算法 SGD Momentum RMSprop Adam
- 01CSS的引入方式
- 02-26C#三级省市区ajax联动控件,利用UpdatePanel,以及页面取值