调试自定义调试引擎
项目类型从 DebugLaunch 方法启动调试引擎(DE)。 这意味着 DE 在控制项目类型的 Visual Studio 实例的控制下启动。 但是,Visual Studio 的该实例无法调试 DE。 以下是允许你调试自定义 DE 的步骤。
注意
:在“调试自定义调试引擎”过程中,必须先等待 DE 启动,然后才能附加到它。 如果在 DE 启动时显示的 DE 的开头附近放置消息框,则可以在该点附加,然后清除消息框以继续。 这样,就可以捕获所有 DE 事件。
警告
在尝试以下过程之前,必须安装远程调试。 有关详细信息,请参阅 远程调试 。
调试自定义调试引擎
启动 msvsmon.exe,远程调试监视器。
从 msvsmon.exe 中的“工具”菜单中,选择“选项”以打开“选项”对话框。
选择“无身份验证”选项,然后单击“ 确定”。
启动 Visual Studio 的实例并打开自定义 DE 项目。
启动 Visual Studio 的第二个实例并打开启动 DE 的自定义项目(用于开发,这通常在安装 VSIP 时设置的实验性注册表配置单元中)。
在此 Visual Studio 的第二个实例中,从自定义项目加载源文件并启动要调试的程序。 等待片刻,让 DE 加载,或等待断点命中。
在 Visual Studio 的第一个实例(使用 DE 项目),从“调试”菜单中选择“附加到进程”。
在“附加到进程”对话框中,将传输更改为远程(仅本机且无身份验证)。
将 限定符 更改为计算机的名称(注意:条目有历史记录,因此只需键入此名称一次)。
在“可用进程”列表中,选择正在运行的 DE 实例,然后单击“附加”按钮。
在 DE 中加载符号后,在 DE 代码中放置断点。
每次停止并重启调试过程时,重复步骤 6 到 10。
调试自定义项目类型
在普通注册表配置单元中启动 Visual Studio 并加载项目类型项目(即项目类型的源,而不是项目类型的实例化)。
打开“项目”属性并转到 “调试 ”页。 对于命令,键入 Visual Studio IDE 的路径(默认情况下,这是 [drive]\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exe)。
对于命令参数,请键入
/rootsuffix exp
实验性注册表配置单元(在安装 VSIP 时创建)。单击“确定” 接受这些更改。
按 F5 启动项目类型。 这会启动 Visual Studio 的第二个实例。
此时,可以在项目类型源代码中放置断点。
在 Visual Studio 的第二个实例中,加载或创建项目类型的新实例。 在加载或创建期间,可能会命中断点。
调试项目类型。
如果选择调试启动 DE 的过程,可以在启动 DE 后执行“调试自定义调试引擎”过程中的步骤,以附加到 DE。 这为你提供了三个正在运行的 Visual Studio 实例:一个用于项目类型源,另一个用于实例化项目类型,另一个实例化项目类型附加到 DE。