如何在Visual Studio 2010中调试从另一个进程启动的C#.NET应用程序

Cub*_*bre 5 .net c# debugging visual-studio-2010

我有一个用C#和PDF打印机编写的.NET GUI应用程序.PDF打印机有一个字段,您可以在其中设置命令以启动外部应用程序.

在这种情况下,我可以使用此打印机打印文档,打印机将文件路径启动我的EXE文件作为参数生成的PDF文件.如何从打印机启动应用程序时调试我的应用程序?

在Visual Studio 2010中,我可以为命令行参数设置调试信息,这样可以正常工作.但是,如果从打印机启动应用程序,则应用程序无法正常工作.因此,我想从打印机启动时调试我的应用程序.我怎样才能做到这一点?是否有参数在调试模式下启动EXE文件或类似的东西?

Ale*_*ois 9

尝试附加到该过程:

http://msdn.microsoft.com/en-us/library/c6wf8e4z.aspx

附加到正在运行的进程1.在"调试"菜单上,选择"附加到进程".如果没有打开任何项目,请在"工具"菜单上选择"附加到进程".

2.在"附加到进程"对话框中,从"可用进程"列表中找到要附加到的程序.

a.如果要调试的程序在另一台计算机上运行,​​则必须先选择远程计算机.有关更多信息,请参见如何:选择远程计算机.

b.如果进程在其他用户帐户下运行,请选中"显示所有用户的进程"复选框.

c.如果通过"远程桌面连接"连接,请选中"在所有会话中显示进程"复选框.

3.在"附加到"框中,确保列出要调试的代码类型.默认的"自动"设置会尝试确定要调试的代码类型.如果自动设置不合适:

a.单击"选择".

b.在"选择代码类型"对话框中,单击"调试这些代码类型"并选择要调试的类型.

c.单击"确定".

4.单击"附加".

打开"进程"对话框时,将自动显示"可用进程"列表.对话框打开时,进程可以在后台启动和停止.但是,内容并不总是最新的.您可以随时刷新列表,通过单击"刷新"查看当前的进程列表.

在调试时,您可以连接到多个程序,但在调试器中只有一个程序处于活动状态.您可以在"调试位置"工具栏或"进程"窗口中设置活动程序.有关更多信息,请参见如何:设置当前程序.

所有调试菜单执行命令都会影响活动程序.您可以从"进程"对话框中断任何已调试的程序,或从"调试"菜单中断所有连接的程序.有关更多信息,请参见如何:中断执行.


Ant*_*nyW 8

您可以在开始使用小型注册表调整时附加到进程.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
Run Code Online (Sandbox Code Playgroud)

创建可执行文件的名字一个新的关键,因为它会出现在任务管理器中,例如,myapp.exe.在此下,创建一个名为的新字符串值debugger并将其设置为vsjitdebugger.exe.

现在,当触发EXE文件时,将出现一个窗口,询问要附加到哪个调试器.