启动时的c++运行库错误-任何调试技巧
MS Visual C++ Runtime Library error on launch - any debugging tricks?
当启动我的应用程序,我得到下面的错误对话框。我理解这表明加载运行时库有问题。问题是,我找不到更具体的信息。哪个图书馆?它在加载时究竟遇到了什么问题?等。系统事件查看器没有它的任何条目。有没有什么技巧可以准确地找出它在遇到错误时试图加载的库以及具体问题是什么?
Microsoft Visual C++ Runtime Library
Runtime Error!
Program: exe path
R6034
An application has made an attempt to load the C runtime library incorrectly.
Please contact the application's support team for more information.*
我目前处理运行时库依赖关系的方法是扫描安装目录,提取出。dll和。exe文件的嵌入式清单,然后生成。config和。2。配置文件以重定向到我附带的运行时库的次要版本。在过去,这总是能让事情运转起来。在这种情况下不是这样的。
调用代码是本地c++,但有些dll使用。net,这可能会使情况变得有些复杂。我调用了一个c++ API,但在底层,它最终使用了一些本身使用。net的dll。
使用SysInternals Process Monitor监控文件系统访问。筛选进程名称和操作(CreateFile),以查看进程无法定位的dll。
可能表示msvcr*.dll版本错误。
你可以尝试Dependency Walker (http://www.dependencywalker.com/)来查找链接的位置
确保您有要附加的代码的调试版本。在"调试"菜单上,选择"附加到进程"。使用processID -
也检查这个-http://support.microsoft.com/kb/235434分辨率1
你应该能够使用任务管理器附加到进程:启用即时调试(JIT):在Visual c++中,在"工具"菜单上单击"选项"。在Debug选项卡上,确保选择了即时调试。运行任务管理器并选择要附加到的进程。右键单击并选择Debug。
决议2
运行任务管理器并获取要调试的进程的进程ID。在命令提示符下输入以下命令:msdev -p这将启动visualc++,并将附加到指定的进程。
- 当回溯以零开始时,如何调试崩溃
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 如何在不产生任何垃圾的情况下获得C中的像素
- main() 中的 std::cout 在调试期间不会在调试控制台中打印任何内容
- 为自定义打印调试实现传递任何类型的变量
- VS Code C++程序在调试时不显示任何输出
- 如何调试 gRPC 服务器崩溃而没有任何错误
- 为什么GDB(或任何调试器)逐步进入标题
- 例外情况下,我希望在没有任何堆栈展开的情况下进行调试
- 程序在没有调试符号的情况下崩溃,运行良好(两种情况下都没有优化或任何内容)
- q调试不显示任何内容
- 使用gcc调试选项编译生产代码是否有任何副作用
- 调试时看不到任何变量值
- g++中用于检查数组索引的任何调试标志
- 对notepad++的c++调试器的任何建议
- abort() 的调用方在回溯中是未知的,任何调试它的建议
- 有没有办法在调试中设置断点"at this very moment"?它是关于任何编程语言或IDE的
- 调试后,CMD窗口没有显示任何内容
- 启动时的c++运行库错误-任何调试技巧