从批处理文件中附加VS2010中的Windows调试器?

时间:2011-03-28 19:39:03

标签: visual-studio-2010 debugging batch-file

是否可以将VS2010中的Windows调试器附加到批处理文件中的进程?

最好给它一个进程名称

3 个答案:

答案 0 :(得分:3)

由于您可能已经在运行该进程,因此您将使用vsjitdebugger.exe /p 1234,其中1234是您要调试的进程的PID。如果你不知道它,你将不得不使用其他方法来解决它。

答案 1 :(得分:2)

在devenv.exe的命令行上指定/ Command开关将使其在打开时运行指定的命令。您可以指定Debug.AttachToProcess命令。但是,当您执行该命令时,不知道是否可以指定pid。

答案 2 :(得分:2)

如果您有可用的Windows调试工具,tlist.exe实用程序将生成进程名称的进程ID。如果可用,则以下内容将附加到给定进程:

rem Get the process ID
for /f %%f in ('tlist -p %1') do set mypid=%%f
rem attach to it with selected debugger
vsjitDebugger -p %mypid%

修改如果tlist不可用,我认为任务列表可行。这有点丑陋,但以下对我有用(你知道......它在我的系统上运行:)注意我编辑命令前面的例子在cmd.exe提示符下工作(我使用tcc,这确实需要尽可能多的%标志。

rem Get the process ID
for /f "tokens=2 delims= " %%f in ('tasklist /nh /fi "imagename eq %1"' ) do set mypid=%%f
rem attach to it with selected debugger
vsjitDebugger -p %mypid%