C++bug之未加载wkernelbase.pdb以及bug:未经处理异常----上班2天修复的bug

7 篇文章 0 订阅
博主在工作中遇到了一个棘手的bug,两天未果,问题在于调用动态库时出现错误。经过排查发现是由于未将所有依赖的dll添加到工程导致。解决方案是将所有必要的dll和lib加入工程并进行隐式调用。通过F5调试并在关键函数处设断点避免了未加载pdb的问题。博客详细记录了整个过程和解决方法。
摘要由CSDN通过智能技术生成

问题如下:

未加载wkernelbase.pdb以及bug
在这里插入图片描述

以及未经处理异常

在这里插入图片描述

吐槽一下

这个bug我找了两天了,上班也没干事,刚刚来公司没多久,刚刚接触使用动态库,我每次调用他们的库都会出错。我一直怀疑我dll的隐式调用有问题,我写了一篇文章验证,并且上传了C++项目调用C#、C++接口到我的博客。我调用的方法很nice,可是老是出错,如上面的bug。

产生问题的原因:

dll中调用了dll,我只加入了我看到的dll;它dll中调用的一堆dll我没加进去。

解决办法:

把所有的dll都加工程目录中去。以及lib,然后隐式调用,具体做法翻看我之前写的文章和上传的资源。
在这里插入图片描述
然后在调用dll的函数前后加断点F5调试,就不会遇到未加载的******.pdb的问题了。遇到这个问题是因为debug尝试进内核dll调试了,不用加载这个符号。设断点的时候,或是调试的时候跳过他们

### 回答1: "wkernelbase.pdb" 文件是 Windows 系统中的一个调试数据库文件,它包含了程序运行中的调试信息。如果程序在运行时报告 "未加载 wkernelbase.pdb" 错误,可能是因为该文件丢失或损坏了。在这种情况下,建议重新安装程序或更新系统来解决这个问题。 ### 回答2: wkernelbase.pdb是微软操作系统中存储程序调试信息的文件之一。当系统无法加载wkernelbase.pdb文件时,可能会导致一些问题,如程序崩溃或异常终止。这通常意味着程序无法查找或访问系统中的调试信息。 以下是可能导致无法加载wkernelbase.pdb文件的原因: 1.丢失或损坏的wkernelbase.pdb文件。在一些情况下,该文件可能被删除、更改或损坏,导致系统无法访问程序的相关调试信息。 2.系统文件缺失或损坏。如果操作系统中缺少必要的系统文件,程序可能无法访问系统中的调试信息,从而导致无法加载wkernelbase.pdb文件。 3.程序版本问题。程序版本不匹配可能会导致无法加载wkernelbase.pdb文件,因为该文件需要与程序版本进行匹配。 4.系统环境配置错误。系统配置错误可能会导致无法加载wkernelbase.pdb文件。例如,不正确的安装、配置或升级程序可能会产生这种情况。 解决wkernelbase.pdb加载问题的方法有: 1.重新安装应用程序: 如果程序本身出现了问题,可以尝试重新安装该程序来修复问题。 2.更新系统文件: 通过更新或修复操作系统中损坏的或缺失的文件,可以解决该问题。 3.更新程序版本: 如果程序版本与wkernelbase.pdb文件不匹配,可以尝试更新程序版本与其对应的wkernelbase.pdb文件版本匹配。 4.清除系统中存在的错误配置: 如果存在系统环境配置错误,可以通过调整系统配置来解决该问题。 综上所述,无法加载wkernelbase.pdb文件通常是由多个因素引起的。通过排除系统问题或重新安装程序,可以解决该问题。如果问题持续存在,则可以尝试联系程序开发者,以获取更多帮助。 ### 回答3: wkernelbase.pdb是Windows核心库(Kernelbase.dll)的调试符号文件,包含了函数、变量和源代码等与调试有关的信息。 在程序执行过程中,当需要使用wkernelbase.pdb文件中的信息来进行调试时,如果该文件未加载,则会出现提示“未加载wkernelbase.pdb”的错误信息。 造成“未加载wkernelbase.pdb”的原因可能有以下几种: 1. 缺失文件:wkernelbase.pdb文件缺失或被删除了。 2. 路径问题:wkernelbase.pdb文件的路径设置不正确。 3. 代码调试设置问题:在代码调试设置中没有启用符号路径,或者启用的符号路径有误。 解决“未加载wkernelbase.pdb”的方法有以下几种: 1. 重新安装Visual Studio:如果是在Visual Studio中出现了“未加载wkernelbase.pdb”的错误信息,可以尝试重新安装Visual Studio来修复问题。 2. 添加符号路径:在Visual Studio的调试设置中添加正确的符号路径,这样就可以自动加载wkernelbase.pdb文件。 3. 下载缺失文件:手动下载缺失的wkernelbase.pdb文件,并将其保存在符号路径中即可。 总之,“未加载wkernelbase.pdb”的错误信息并不会对程序执行造成影响,只是会在调试时造成一些不便,需要根据具体情况采取相应的解决方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

困了就喝白茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值