1

我在 C 中创建了一个 Windows 服务(使用 WinAPI),我希望 Visual Studio 在我从“服务”面板启动服务时自动附加到该服务的进程。这怎么可能实现。PS在服务的初始化函数中放置一个MessageBox而不是手动附加不是我正在寻找的那种解决方案。

4

2 回答 2

2

我找到了解决方案。只需在注册表中添加以下键:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\图像文件执行选项\THE_NAME_OF_YOUR_SERVICE_EXECUTABLE.exe]

并添加以下值和数据:

"调试器"="vsjitdebugger.exe"

请注意,您必须在完成测试后删除此值,否则 Visual Studio 将在服务启动时提示附加消息。

这适用于 Windows XP x32。我还没有测试过其他任何东西。

于 2013-09-09T06:47:00.050 回答
0

放置 __asm int3; 在代码的开头或要附加调试器的地方。

于 2013-09-06T07:23:00.093 回答