问题标签 [clrdump]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
8786 浏览

c# - SetUnhandledExceptionFilter 如何在 .NET WinForms 应用程序中工作?

我正在做一个项目来增强我们的生产调试能力。我们的目标是在任何未处理的异常上可靠地生成一个小型转储,无论该异常是托管的还是非托管的,以及它是否发生在托管或非托管线程上。

我们目前为此使用了出色的ClrDump库,但它并不能完全提供我们需要的确切功能,我想了解异常过滤背后的机制,所以我开始亲自尝试一下。

我开始按照这篇博客文章自己安装 SEH 处理程序:http: //blogs.microsoft.co.il/blogs/sasha/archive/2007/12.aspx。这种技术适用于控制台应用程序,但是当我从 WinForms 应用程序尝试相同的事情时,我的过滤器不会针对任何种类的非托管异常调用。

ClrDump 可以做什么我没有做的事情?ClrDump 在所有情况下都会产生转储,因此仍必须调用其异常过滤器...

注意:我知道 ADPlus 的功能,我们也考虑过使用 AeDebug 注册表项......这些也是可能的,但也有它们的权衡。

谢谢,戴夫

0 投票
6 回答
40450 浏览

c++ - Clrdump (C++) 错误 LNK2019:函数 _main 中引用的未解析的外部符号 __imp__RegisterFilter@8

我正在使用带有 pvcs 编译器的 makefile 系统(使用 Microsoft Visual C++,2008 编译器)并且我收到了以下形式的几个链接错误:

error LNK2019: unresolved external symbol __imp__RegisterFilter@8 referenced in function _main

尽管使用extern "C"声明,即发生这种情况,即:

此外,在 makeexe.mak 中,该库被链接为:

$(编译库)\lib\clrdump.lib\

老实说,我不是 makefile 方面的专家,我正在将系统从 Microsoft Visual C++ 6.0 转换到 2008。这种转换可能与链接错误有关,因为系统以前可以正常工作。

任何帮助将不胜感激。

提前致谢,

真诚的,约瑟夫

-- 编辑 1 --

有谁知道如何在 pvcs 的 makefile 系统中打开详细信息?

请注意,上面的函数已经是编译器修饰的版本,具有

而 C++ 函数只是

感谢您的帮助,但如果有人可以发布更完整的解决方案,那也将不胜感激。

真诚的,约瑟夫

-- 编辑 2 --

某个好心人发布了这个,但是当我登录时它消失了:

imp 前缀表示该函数是从 DLL 导入的。检查CLRDUMP_API- 的定义是__declspec(dllimport)吗?有关更多信息,请参阅本文。

有一个工作链接,但我失去了它,但我想人们总是可以搜索这个主题。

谢谢,不管你是谁!

-- 编辑 3 --

谢谢 ChrisN(我还不能投票)。尽管使用了刷新按钮,但您的答案消失了,但在我发布剪切粘贴后又重新出现。

这是我的定义:

我假设 __stdcall 没问题?

-- 编辑 4 --

虽然我感谢那些回答的人,尤其是 ChrisN,至少在我的特定系统上所做的努力,但链接错误仍然存​​在。因此,如果有人有任何进一步的见解,我将不胜感激。再次感谢。