我 的 解决 方案 中 有 2 个 项目 编译 为 * A . exe * 和 * B . exe *
- A * 将 启动 * B * 并 通过 命名 管道 连接 到 它 。 我 想 测试 它们 之间 的 连接 , 所以 我 想 attach to both at the same time 。 每次 手动 这样 做 是 非常 繁琐 和 不 方便 的 , 特别 是 当 B 在 超时 后 关闭 , 如果 它 没有 收到 任何 来自 A 的 数据 。 因此 我 尝试 了 这个
if (IsDebuggerPresent())
DebugActiveProcess(processId);
中 的 每 一 个
但是 , * * B 似乎 附加 到 了 A 的 调试 器 而 不是 Visual Studio 的 调试 器 * * 。 那么 , 我 如何 将 B 附加 到 VS 调试 器 * * * 自动 * * * ?
我 手头 有 windbg , 可以 调试 崩溃 转储 , 所以 它 也 可能 是 一 个 解决 方案 , 只要 它 可以 * 在 没有 多 个 用户 交互 * 的 情况 下 完成
1条答案
按热度按时间mwg9r5ms1#
以程序设计方式附加到行程序
B
方法一:使用VS
1.打开
B.vcxproj
而不是您的解决方案(包含项目A
和B
的.sln
)1.将断点
1.通过
system()
(或其他变体)从项目A运行此dos命令:运行“G:\逻辑元件\B\B.vcxproj”/nosplash /调试执行程序
devenv
是VS路径中的一个命令。在我的例子中,它位于:C:\程式档(x86)\Microsoft Visual Studio 10.0\VC
1.当您运行此命令时,B项目被打开并到达断点。
方法二:使用Windbg
就调用这个命令:
以图形方式附加到进程
B
在另一个示例中打开B项目,并按如下所示附加到该示例:
然后选择您的B: