使用Process Explorer工具分析Visual Studio 2013编译和调试产生的进程

本文深入分析了VisualStudio2013在编译和调试过程中的进程生成情况,包括devenv.exe、MSBuild.exe、mspdbsrv.exe等关键进程的作用,以及如何使用ProcessExplorer和ProcessMonitor软件进行详细的进程监控和分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Process Explorer和Process Monitor软件下载

https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer

https://docs.microsoft.com/zh-cn/sysinternals/downloads/procmon

下载完,打开Process Explorer软件,菜单->File->Save As,可以把当前运行的进程名称记录在文本。再通过Beyond Compare对比软件查看差异,由此我们可以通过它来分析Visual Studio 2013编译和调试过程中究竟产生了哪些进程。

2、打开Visual Studio 2013,后台会产生devenv.exe进程

devenv.exe位于C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe

3、新建Win32控制台程序,然后编译,编译过程会产生以下进程:

MSBuild.exe -- 这个生成编译的发起者,统筹全局

mspdbsrv.exe -- Microsoft® Program Database

vcpkgsrv.exe -- Microsoft (R) Visual C++ Package Server

conhost.exe -- win32控制台窗口主机

cl.exe -- 真正的编译器,源码编译执行者

其中cl.exe位于C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\cl.exe,这个进程生命周期比较短暂,编译完源码,cl进程就会被杀死。

MSBuild.exe位于C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe

4、调试

(1)调试过程会产生以下进程

conhost.exe -- win32控制台窗口主机
ConsoleApplication1.exe -- 用户程序

由此可见,调试使用的是VS自身的进程,没有额外产生其他进程。

(2)使用Process Monitor软件来观察:

打开软件->菜单->Filter->Filter...->Process Name contains devenv->Add

可以观察到,devenv.exe会访问相关文件,例如,这里只截取了部分注册表及文件:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0_Config\Debugger
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0_Config\Debugger\CodeView Compilers
HKCU\Software\Microsoft\VisualStudio\12.0\AD7Metrics\Engine

......

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Packages\Debugger\
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Packages\Debugger\vsdebugeng.impl.DLL
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Packages\Debugger\Visualizers\atlmfc.natvis

......

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值