我正在尝试调试托管堆损坏问题,并尝试使用WinDbg
和MDAs
来解决问题的根源。
但是,只要我将<pInvokeStackImbalance />
添加到* .mda.config文件,我就会收到错误The 'mdaConfig' configuration file is invalid.
即使我自己使用pInvokeStackImbalance
,也会发生这种情况。
<mdaConfig>
<assistants>
<pInvokeStackImbalance />
</assistants>
</mdaConfig>
WinDbg输出:
Microsoft (R) Windows Debugger Version 6.2.9200.20512 AMD64
...
<mda:msg xmlns:mda="http://schemas.microsoft.com/CLR/2004/10/mda">
<!--
The 'mdaConfig' configuration file is invalid.
-->
<mda:invalidConfigFileMsg break="true" configFile="mdaConfig"/>
</mda:msg>
其他mda助手似乎工作正常,例如
<mdaConfig>
<assistants>
<callbackOnCollectedDelegate listSize="1500" />
<gcManagedToUnmanaged />
<gcUnmanagedToManaged />
</assistants>
</mdaConfig>
我已阅读this并确保我在元素名称和结束标记之间有空格,并按字母顺序排列元素。
我对pInvokeStackImbalance
做错了什么?
答案 0 :(得分:4)
问题的根源来自调试器登录消息:
Microsoft(R)Windows调试版6.2.9200.20512 AMD64
从MSDN Library文章中引用pInvokeStackImbalance:
pInvokeStackImbalance MDA仅适用于32位x86平台。
换句话说:您无法使用它来调试64位进程。