可以WinDbg的连接到该远程运行被调试的标准输入(can WinDbg connect to st

2019-10-24 01:36发布

我有一个很难控制使用的WinDbg我的申请,我已经张贴了我的问题在这里就离开了方法,因为我无法弄清楚如何实现这一目标的途径。 现在我工作的做法,断点命中后,我想另辟蹊径我的应用程序的执行和谁正在运行调试器用户提示输入。

DWORD dwRand = 0;
volatile bool bDebug = false;
if (!bDebug)
{
    dwRand = Rand(minValue, maxValue);
}
else
{
    cout << "\n Enter dwRand: ";
    cin >> dwRand;
}
return dwRand;

所以我的想法是设置bDebug并得到用户的输入,所以我可以继续其他线程的执行,并等待用户输入。 我发现这些链接1 2 3被说明的技术中,但我想附加到这已经是远程运行的过程。 我试着用WinDbg的命令选项,但没有变成是我的解决方案。 有人建议我就如何实现这一目标。

Answer 1:

的伪代码上面不传达你的意图。

我不知道为什么你需要一个内核调试连接到远程调试的可执行文件(引用您的查询的链接)

如果你想在一台远程机器,你可以连接到使用远程调试连接会话调试可执行运行。

下面列举的样品设置调试CALC.EXE在远程机器使用远程调试会话中运行

主机-----------------物理机XP SP3 32位
目标---------------虚拟机XP SP3 32位
网络--------------环回适配器

C:\>net view | grep -i xp & echo kd wont connect target not booted with /DEBUG
\\XPSP3VM
kd wont connect target not booted with /DEBUG

C:\>kd -k com:pipe,port=\\.\pipe\debugPipe,resets=0,reconnect
Opened \\.\pipe\debugPipe
Waiting to reconnect...
^B   <---------force exit
"lets run windbg -server npipe:pipe=\\.\pipe\debugPipe -v calc.exe 
in the target machine and connect to it with cdb -server:xxxx from host

C:\>cdb -remote npipe:server=xpsp3vm,pipe=\\.\pipe\debugPipe
Connected to server with 'npipe:server=xpsp3vm,pipe=\\.\pipe\debugPipe'

CommandLine: calc.exe  (mapped shared folder in host)
Symbol search path is: srv*z:\*http://msdl.microsoft.com/download/symbols

7c90120e cc              int     3
\Admin (npipe \\.\pipe\debugPipe) connected at Wed Jul 22 11:49:41 2015
0:000> .echo "yay we are remote debucking now"
yay we are remote debucking now
0:000> lm m calc*
start    end        module name
01000000 0101f000   calc       (deferred)
.clients
\Admin (npipe \\.\pipe\debugPipe), last active Wed Jul 22 11:54:19 2015
HostMachine\HostUser, last active Wed Jul 22 11:44:06 2015
0:000> kb
ChildEBP RetAddr  Args to Child
0007fb1c 7c9402ed 7ffde000 7ffdf000 00000000 ntdll!DbgBreakPoint
0007fc94 7c91fad7 0007fd30 7c900000 0007fce0 ntdll!LdrpInitializeProcess+0x1014
0007fd1c 7c90e457 0007fd30 7c900000 00000000 ntdll!_LdrpInitialize+0x183
00000000 00000000 00000000 00000000 00000000 ntdll!KiUserApcDispatcher+0x7
0:000> .echo "only echo is echoed all other aw are dumped here"
only echo is echoed all other aw are dumped here

的情况下添加一个屏幕截图写的是什么声音胡言乱语



文章来源: can WinDbg connect to stdin of a debuggee which is running remotely