栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

调试C++代码遇到的那些坑

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

调试C++代码遇到的那些坑

最近翻看以前的学习笔记,重温了不少之前调试C++代码遇到的坑,顿时觉得,记笔记真是程序开发工作中必备可少的环节。现将部分内容分享一下:

VS调试程序时,提示缺少ucrtbased.dll

当在VS下调试程序时,如果缺少ucrtbased.dll,一般会出现如下几种错误提示:

1)程序无法启动,因为您的计算机缺少 ucrtbased.dll 。尝试重新安装程序来解决这个问题。

2)启动 ucrtbased.dll 发生错误。无法找到指定的模块

3)加载 ucrtbased.dll 发生错误。无法找到指定的模块

4)ucrtbased.dll 的设计可能不适合在 Windows 上运行,或可能包含错误。

究其错误原因,多半是ucrtbased.dll被删除或放错位置、被PC上存在的恶意软件破坏、Windows注册表被损坏等。

解决办法:

访问网址:https://cn.dll-files.com/ucrtbased.dll.html,下载ucrtbased.dll。

ucrtbased(64位).ziphttps://mp.weixin.qq.com/s/J3m6fD89X8EpCfnm1LtbAg

ucrtbased(32位).ziphttps://mp.weixin.qq.com/s/J3m6fD89X8EpCfnm1LtbAg

ucrtbased.dll文件分64位和32位两种,分别放在电脑的

C:WindowsSystem32和C:WindowsSysWOW64目录下。这里要特别注意的是,64位windows系统下,SysWOW64目录下存放的是32位的DLL,System32目录下存放的是64位的DLL。SysWow64文件夹,是64位Windows,用来存放32位Windows系统文件的地方,而System32文件夹,是用来存放64位程序文件的地方。当32位程序加载System32文件夹中的dll时,操作系统会自动映射到SysWow64文件夹中的对应的文件。如果放置DLL的位置弄错了,就会弹出0xc000007b的错误提示。

这里附带提下,当出现0xc000007b的错误提示时,多半可以从如下几个方向排查:

1)系统缺少DX9,需要下载相关的DX修复工具

2)缺少对应的VC运行时库

3)程序所需要的动态库版本不对

4)就是上面提到的程序是64位的,加载的却是32位的动态库,反之亦然

最后,再附上怎么使用VS自带的查看程序是64位还是32位的工具的方法,这里以VS2015为例,步骤如下:

开始->所有程序->Microsoft Visual Studio 2015->Visual Studio Tools ->“VS2015 开发人员命令提示”后,就像普通的cmd一样的命令行环境,就可以正常使用VS的一些工具,其中就包括dumpbin,如下图所示:

执行dumpbin /headers C:WindowsSysWOW64msvcp140d.dll命令,红色方框内显示该DLL是x86,32位的,反之显示的是64位。

vs调试程序时,提示已加载xxx.dlll,无法查找或打开PDB文件

平时我们用VS调试程序时,有可能出现下面这样的问题:

1.“Win32Project.exe”(Win32):已加载“D:Win32ProjectDebugWin32Project.exe”。已加载符号。

2.“Win32Project.exe”(Win32):已加载“C:WindowsSysWOW64ntdll.dll”。无法查找或打开 PDB 文件。

3.“Win32Project.exe”(Win32):  已加载“C:WindowsSysWOW64kernel32.dll”。已加载符号。

4.“Win32Project.exe”(Win32):  已加载“C:WindowsSysWOW64KernelBase.dll”。无法查找或打开 PDB 文件。

5.“Win32Project.exe”(Win32):  已加载“C:WindowsSysWOW64msvcr120d.dll”。已加载符号。

6.程序“[4308] Win32Project.exe”已退出,返回值为 0 (0x0)。

解决办法:

1)点 调试

2)然后 选项和设置

3)右边勾上 启用源服务器支持

4)左边点 符号

5)把微软符号服务器勾上

6)运行的时候等一下

7)问题解决

今日分享到此,更多内容,请关注“程序员超仔”微信公众号,或访问个人博客地址:www.51yourong.cn

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1001239.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号