如何知道Com抛出异常的栈信息?

yahle 2007-02-05 02:25:07


在C#里catch到的异常对象里有一个stack属性,里面有异常的栈信息,通过栈信息我能知道是那段代码出了问题。
现在用com的的时候,通常用
if (FAILED(hr))
_com_issue_error(hr);
方式抛异常,在捕捉到异常后,异常对象 _com_error 里没有关于栈信息的内容,
我想请问一下各位高人,如何抛异常才能获得带有栈信息输出的异常对象?
...全文
219 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ATField 2007-02-06
  • 打赏
  • 举报
回复
可以考虑用StackWalk64 API来获得CallStack的内容,具体做法比较复杂,你可以参考下面几篇文章,里面有代码可用:
http://www.codeproject.com/threads/StackWalker.asp
http://www.codeproject.com/tools/leakfinder.asp
无忧石头 2007-02-06
  • 打赏
  • 举报
回复
可以使用try-catch,catch(_com_error err) ,就可以知道具体的错误描述了
zzw_happy 2007-02-06
  • 打赏
  • 举报
回复
难,依赖于编译时的调试信息和编译器。
wshcdr 2007-02-06
  • 打赏
  • 举报
回复
最多知道错误码

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧