msvsmon.exe是什么进程?
远程调试监视器 (msvsmon.exe) 是一个小型应用程序,Visual Studio 与之连接以进行远程调试。在远程调试过程中,Visual Studio 在一台计算机(调试器主机)上运行,远程调试监视器和正在调试的应用程序在远程计算机上运行。 这个文件是安全的
============================================================
msvsmon.exe
远程调试的工具。一般在这个目录下面:
Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x86
使用方法:
1, 在被调试的电脑上打开工具,点菜单 : Tools-Options 设置好权限
2,待调试的电脑上打开vS,点菜单 调试-附加到进程。
传输里面选 远程(无身份验证时仅限本机)
限定符栏里填写被调试电脑的Ip。
选择需要调试的进程。
ok。可以远程调试了。
=======================================================
VC 2008 远程调试
微软的Live space要退休了。Live space除了访问慢了点(偶尔还有连接不上的情况),功能少了点,格式乱了点之外,其他方面还是很不错的(至少比国内的博客要好用一些)。
我比较喜欢那些简单,功能单一的东西,只要满足基本需求就行。Live space通过live messenger访问比较方便,平时当作记事本还是比较管用。
刚从live space上下载了备份,把日常整理的一些东西再发到豆瓣上,以后这里就是记事本了。
驱动开发过程中,一般使用VMWare/Virtual PC + WinDbg进行联机调试。有时会遇到这样的情况:需要编写一个用户态的应用程序与内核模式驱动进行交互。由于开发好的驱动程序已经在远程测试机(VMWare虚拟系统)中进行部署,因此最好能将用户态的应用程序也部署到远程的测试环境中,这样便可以同时调试应用程序与驱动程序。
VC 2008 IDE自带了很强大的用户模式调试器,并且支持远程调试功能。再进行远程调试之前,需要做以下的准备。
一、远程测试环境的配置
将“Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86”下的所有文件复制到远程计算机中。
将开发好的应用程序(.exe文件)和符号文件(.pdb文件)复制到远程计算机中。
在远程计算机上启动“msvsmon.exe”,并将“工具”->“选项...”的“身份验证模式”改为“无身份验证(仅限本级)”,并勾选“允许任何用户进行调试”。
二、本地开发环境设置
项目属性中对调试选项进行配置,如下图所示。注意图中“远程命令”与“工作目录”是指远程计算机中的目录。
按F5即可对远程应用程序进行调试。
三、其他问题
测试环境缺少运行库时,可以安装随VC2008带的发行工具vcredist_x86.exe,详细说明见MSDN中的“ 部署示例”。
若VC 2008调试器中无法设置断点,在项目属性的“C/C++”->“优化”设置为“禁用(/Od)”,详细参考见 这里。对于驱动可以参考windbg安装目录中kernel_debugging_tutorial.doc所述的方法:
Here is something fairly important to understand. The build process is quite smart about optimizing code, and optimization can result in code movement (logic is of course preserved) and in keeping variable values solely in registers. To ensure a straightforward debugging experience, you should produce a checked build with this compiler directive given in the build window or in the appropriate sources file:
MSC_OPTIMIZATION=/Od
(That is “Oh d” and not “zero d.”)
Sometimes the above will result in a build problem with intrinsic functions like memcmp. If you run into that problem, try:
MSC_OPTIMIZATION=/Odi
本文所提供的方法只适合调试本机(Native)代码,托管代码不在此例。更详细的配置参考 这里。
MSDN中讲述的“ 调试本机代码”。
P.S 无调试,不程序。
我比较喜欢那些简单,功能单一的东西,只要满足基本需求就行。Live space通过live messenger访问比较方便,平时当作记事本还是比较管用。
刚从live space上下载了备份,把日常整理的一些东西再发到豆瓣上,以后这里就是记事本了。
驱动开发过程中,一般使用VMWare/Virtual PC + WinDbg进行联机调试。有时会遇到这样的情况:需要编写一个用户态的应用程序与内核模式驱动进行交互。由于开发好的驱动程序已经在远程测试机(VMWare虚拟系统)中进行部署,因此最好能将用户态的应用程序也部署到远程的测试环境中,这样便可以同时调试应用程序与驱动程序。
VC 2008 IDE自带了很强大的用户模式调试器,并且支持远程调试功能。再进行远程调试之前,需要做以下的准备。
一、远程测试环境的配置
将“Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86”下的所有文件复制到远程计算机中。
将开发好的应用程序(.exe文件)和符号文件(.pdb文件)复制到远程计算机中。
在远程计算机上启动“msvsmon.exe”,并将“工具”->“选项...”的“身份验证模式”改为“无身份验证(仅限本级)”,并勾选“允许任何用户进行调试”。
二、本地开发环境设置
项目属性中对调试选项进行配置,如下图所示。注意图中“远程命令”与“工作目录”是指远程计算机中的目录。
按F5即可对远程应用程序进行调试。
三、其他问题
测试环境缺少运行库时,可以安装随VC2008带的发行工具vcredist_x86.exe,详细说明见MSDN中的“ 部署示例”。
若VC 2008调试器中无法设置断点,在项目属性的“C/C++”->“优化”设置为“禁用(/Od)”,详细参考见 这里。对于驱动可以参考windbg安装目录中kernel_debugging_tutorial.doc所述的方法:
Here is something fairly important to understand. The build process is quite smart about optimizing code, and optimization can result in code movement (logic is of course preserved) and in keeping variable values solely in registers. To ensure a straightforward debugging experience, you should produce a checked build with this compiler directive given in the build window or in the appropriate sources file:
MSC_OPTIMIZATION=/Od
(That is “Oh d” and not “zero d.”)
Sometimes the above will result in a build problem with intrinsic functions like memcmp. If you run into that problem, try:
MSC_OPTIMIZATION=/Odi
本文所提供的方法只适合调试本机(Native)代码,托管代码不在此例。更详细的配置参考 这里。
MSDN中讲述的“ 调试本机代码”。
P.S 无调试,不程序。