|
|
1
1
很可能是从错误的位置加载带有LoadLibrary()的DLL,并且缺少PDB会阻止调试器设置断点。您也可以在禁用断言的情况下加载零售DLL(如果“要断言的错误”表示您在代码中有断言)。如果错误是页面错误(如示例中显示的AV),并且调试器没有中断,则表示已处理异常。你总是可以一有机会就开始休息。
|
|
2
1
在代码库中的某个地方有一个异常处理程序正在吞噬异常。首先查找SetUnhandledExceptionFilter。另外:调试+异常、Win32异常,勾选抛出复选框。 |
|
|
3
0
哦,看起来这个bug和DLL根本没有关系。调试器在主应用程序模块中的行为方式也相同。我已将此代码段插入到OnInitDialog()函数和按钮单击OnBnClickedButton1()处理程序函数中。 在第一种情况下(在OnInitDialog()内),异常会像往常一样抛出,程序无法从该错误中恢复。在输出窗口中跟踪以下消息:
但在第二种情况下(在OnBnClickedButton1()内部),不会引发异常,OnBnClickedButton1()的执行将中止,程序将继续正常运行。在输出窗口中跟踪以下消息:
因此,在应用程序初始化之后,似乎出现了一些顶级异常处理程序。我已经创建了一个新的测试应用程序,并尝试了同样的方法——在这两种情况下都会抛出异常。我比较了它们的项目设置(在.vcproj文件上的差异),没有发现与此问题相关的差异。
很抱歉,问题的第一个版本出现错误。 |
|
|
4
0
哦,原来这个问题是由OpenGL引起的
|
|
|
Guilherme Albertini · DLL中的类 8 年前 |
|
|
Naomi · C#dll资源文件更改语言 8 年前 |
|
|
AidanH · C#DLL语言翻译实现[关闭] 8 年前 |
|
|
subham · DLL函数调用不工作 8 年前 |
|
|
PixelThis · 为什么我的DLL要求我的程序有一个特定的名称? 8 年前 |
|
|
nemo · DLL的“好”调用约定是什么? 8 年前 |