Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用API、扩展或IPC将.NET应用程序与WinDbg连接?_.net_Windbg - Fatal编程技术网

如何使用API、扩展或IPC将.NET应用程序与WinDbg连接?

如何使用API、扩展或IPC将.NET应用程序与WinDbg连接?,.net,windbg,.net,Windbg,大家好 我需要创建一个.NET应用程序,它可以与WinDbg交互并从中提取数据。人们说使用dbgengapi。但我需要的是满足以下条件的应用程序: 我使用WinDbg调试应用程序,比如 我将在.NET中创建的第二个应用程序说,应用程序B必须连接到WinDbg,并提供应用程序A的代码流以及寄存器值、调用堆栈等。。随着调试的进行,一个接一个地进行 如果我需要读取一个内存,我需要从B发出命令,使它进入WinDbg,返回任何给定内存地址的内存转储,然后返回B 我该怎么做?有没有这样的方法: 为WinDb

大家好

我需要创建一个.NET应用程序,它可以与WinDbg交互并从中提取数据。人们说使用dbgengapi。但我需要的是满足以下条件的应用程序:

我使用WinDbg调试应用程序,比如

我将在.NET中创建的第二个应用程序说,应用程序B必须连接到WinDbg,并提供应用程序A的代码流以及寄存器值、调用堆栈等。。随着调试的进行,一个接一个地进行

如果我需要读取一个内存,我需要从B发出命令,使它进入WinDbg,返回任何给定内存地址的内存转储,然后返回B

我该怎么做?有没有这样的方法:

为WinDbg构建扩展,以便将我的.NET应用程序B连接到它可以提供交互性,或者是否有可用于WinDbg的API,或者使用IPC连接WinDbg和我的应用程序B


提前感谢

如果你能接受一个快速而肮脏的解决方案,你可能会对使用
.logopen
感兴趣,它会将WinDbg输出写入一个文件,并且可能可以从那里读取。请看一下
.ocommand
,它可以指示WinDbg从另一个应用程序获取命令,并通过
OutputDebugString(…)发送命令

除此之外,这个问题非常笼统,需要很长的答案。这可能是你被评论者否决的原因之一。首先,您可以尝试编写一个小型的WinDbg扩展教程,以便熟悉WinDbg扩展的编写。如果这样做有效,那么总会有一种方法通过命名管道、HTTP或类似方式与其他程序互连

出现的一个问题是:你为什么要这样做?您的应用程序B可能永远无法实现WinDbg的功能,只会妨碍实际调试。使用dbgengapi可能比依赖WinDbg的行为要好,因为WinDbg不是一个真正的API,经常会有突破性的变化