我想在SQL Server Compact Edition中捕获内存访问违规,就像http://debuggingblog.com/wp/2009/02/18/memory-access-violation-in-sql-server-compact-editionce/中描述的那样,建议的配置是:
<ADPlus>
<Settings>
<RunMode>CRASH</RunMode>
<Option>Quiet</Option>
<ProcessName>MyApp.exe</ProcessName>
</Settings>
<Exceptions>
<Option>NoDumpOnFirstChance</Option>
<Config>
<Code>clr;av</Code><!–to get the full dump on clr access violation–>
<Actions1>FullDump</Actions1>
<ReturnAction1>gn</ReturnAction1>
</Config>
</Exceptions>
</ADPlus>我下载了最新的调试工具,观察了Microsoft将adplus工具重写为托管代码并更改了配置文件的语法。我像这样重写配置文件:
<ADPlus Version="2">
<Settings>
<RunMode>Crash</RunMode>
<Option>Quiet</Option>
<Option>NoDumpOnFirst</Option>
<Sympath>c:\symbols\</Sympath>
<OutputDir>c:\work\output\</OutputDir>
<ProcessName>c:\work\app\output\MyApp.exe</ProcessName>
</Settings>
<Exceptions><!--to get the full dump on clr access violation-->
<Exception Code="clr;av">
<Actions1>FullDump</Actions1>
<ReturnAction1>gn</ReturnAction1>
</Exception>
</Exceptions>
</ADPlus>我得到了错误“找不到异常代码: clr;av”。如果我理解正确的话,它没有加载sos扩展,但是我找不到正确的部分和语法来加载它。
adplus_old.vbs -由于某些原因,未在Windows7上启动进程。WinDBG 6.12.0002.633 X86 ADPlus Engine版本: 7.01.002 02/27/2009
也许有人有一个用最新的adplus.exe调试.NET应用的配置的工作示例?
发布于 2010-06-07 20:20:41
这将为您加载SOS.dll (如果您使用的是框架v1,则为<cmd>.load clr10\sos.dll</cmd>):
<ADPlus Version="2">
<precommands>
<cmd>.loadby sos mscorwks</cmd>
</precommands>
<Settings>
<RunMode>Crash</RunMode>
<Option>Quiet</Option>
<Option>NoDumpOnFirst</Option>
<Sympath>c:\symbols\</Sympath>
<OutputDir>c:\work\output\</OutputDir>
<ProcessName>c:\work\app\output\MyApp.exe</ProcessName>
</Settings>
<Exceptions><!--to get the full dump on clr access violation-->
<Exception Code="clr;av">
<Actions1>FullDump</Actions1>
<ReturnAction1>gn</ReturnAction1>
</Exception>
</Exceptions>
</ADPlus> https://stackoverflow.com/questions/2989292
复制相似问题