远程调试
2018-06-18 03:27:13来源:未知 阅读 ()
远程调试
在开发过程中,我们经常会碰到在实际生产环境下发生一个bug,然而,在自己的开发环境下死活模拟不出来,有时甚至把自己的代码直连到产生环境的数据库中,还是模拟不出来问题。想到在服务器上调试吧,那台机器又没装VS,真是痛苦。
猛然间发现VS中,在调试界面中,有一个远程调试,想能否利用起来呢:
我们试试吧!!
总体设想,为远程调试时,不能够修改远程机器的帐户信息,不能进行远程机器重启,同时需要不影响用户现有的操作。
-
第一步:
将我们本机开发环境下"VS安装目录"\Common7\IDE\Remote Debugger下,找到有两个子文件夹:x64和x86 , 分别对应64位机和32位机,将该目录复制到目标调试机上(随便哪个目录)
-
第二步:
运行目录中的"msvsmon.exe"程序,运行后,如果提示下面界面,则请打开防火墙开放以下端口,或直接关闭防火墙。
-
第三步:
在启动界面上,打开工具\选项:
将身份验证模式改成 windows身份验证, 如果用无身份验证则将不能调试C#程序,只能调试C++程序。
-
第四步:
将运行程序或web部署包,放在目标机上, 然后里面一定要放上pdb文件。
-
第五步:
在客户端(调试端)机器上,新增一个用户,跟客户机器用户名、密码相同,然后再用这新建的用户登陆,完成后,打开VS代码,然后点击附加到进程:
传输选择默认值(请不要选择远程,那个主要调C++),然后在限定符中输入"用户名@IP"或"用户名@机器名"
这时,在下面的可用进程中,就可以找到你的进程,再点附加就可以调试,方法与调试本机程序一至。
注意点:
-
如果连接不上远程调试机,或选不到进程,请查看下以下几个有没有设置对:
-
目标机器上,在本地安全设置中,安全设置/本地策略/用户权利指派 下面调试程序 点击后,看一下 服务器当前用户,是否在里面或在里面的组中。
-
网络能够ping通,相应端口是否开通,具体端口可以在远程界面中进行查看设置。
-
本机的用户名密码是否与服务器完全一至。
-
如果调试的是BS程序,即需要调试w3wp进程,这里要特别重视,因为我们一点进入断点,则IE端操作将全部卡住,所以如果这是一个有很多人访问的系统时,请不要这么做,应该另启一个应用程序池,部署一个应用服务,然后代码哪怕可以用同一套,然后用把w3wp时,一定要看好是哪一个用户下的,千万不要把多个w3wp一并选住。
-
记得把dll或exe放在远程机器上时,随时生成的pdb文件也需要复制过去。如果附加进程时,发现断点打上去后是空心的,则需要将PDB文件重新生成了放上去,服务器与本机代码已经不同步了。
By zjf
@ 2012-06-30 23:15
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Asp.Net数据绑定
下一篇:分布式系统设计权衡之CAP
- WDK驱动调试问题点滴 2020-04-21
- vs2019+cmake实现Linux远程开发 2019-08-31
- 串口调试助手--Qt 2019-08-26
- 49.Qt-网络编程之QTCPSocket和QTCPServer(实现简易网络调试 2019-08-16
- # VsCode 配置C++调试运行 2019-08-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash