Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

.Net程序调试

帖子发起人: 英宁   发起时间: 2012-12-27 13:54 下午   回复: 2

Print Search
帖子排序:    
   2012-12-27, 13:54 下午
loveour 离线,最后访问时间: 2013/12/10 6:24:34 英宁

发帖数前500位
注册: 2012-12-27
发 贴: 3
.net程序调用第三方库的多线程异常问题
Reply Quote
张老师您好。
公司开发的工具使用了C#,有通过C++ interop调用C++的dll,该dll生成了其它线程,在这个线程上发生了异常。
工具本身的CLR的异常是有用UnhandledException和ThreadException来进行处理,生成了dump的;而这个C++DLL其它线程的异常没办法捕获,SetUnhandledExceptionFilter也没办法处理到。请问是否这种情况下依靠程序自身就无法生成dmp了?

IP 地址: 已记录   报告
   2012-12-27, 20:09 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: .net程序调用第三方库的多线程异常问题
Reply Quote
按道理,通过SetUnhandledExceptionFilter设置的顶层异常过滤函数应该可以捕捉到。建议先找一下原因,看是没有设置成功,还是被覆盖了...
IP 地址: 已记录   报告
   2012-12-29, 11:10 上午
loveour 离线,最后访问时间: 2013/12/10 6:24:34 英宁

发帖数前500位
注册: 2012-12-27
发 贴: 3
Re: .net程序调用第三方库的多线程异常问题
Reply Quote
 Raymond wrote:
按道理,通过SetUnhandledExceptionFilter设置的顶层异常过滤函数应该可以捕捉到。建议先找一下原因,看是没有设置成功,还是被覆盖了...

因为是公司内部使用的工具,因此先写了一个外部程序来生成Dump,在注册表注册了程序崩溃的时候的Debugger为那个外部程序。这样至少先解决了问题。
SetUnhandledExceptionFilter不起作用还不知道原因,主要是,如果是自己公司编写的模块总可以找到原因,但是有时候会涉及到第三方模块,这个时候很难直接处理。准备再做一下尝试看看。

IP 地址: 已记录   报告
高端调试 » 软件调试 » .Net程序调试 » Re: .net程序调用第三方库的多线程异常问题

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.