无法调试MFC源码

VS无法调试MFC源码

起初

有时候就是这么无奈,MFC源码各种问题没有办法调试,可是又想看下代码如何调用,里面做了些什么,从哪儿调出,学习一下大神的思路什么的。整理一下有可能的原因。
调试MFC源码

检查生成代码设置

需要设置正确的生成配置
在这里插入图片描述
如果Release,或者没有生成调试信息,逻辑上都不通,调试不成是可以理解的。

符号文件

符号文件是一个很恶心的方面,需要联网,设置符号文件路径。如果也设置了,但是一直报这方面的问题,可以清理了重新下载。
符号设置
设置完以后可以打开路径看看里面有什么,一大段文件,有东西才能调试。
有时候符号和源码版本不对应就需要设置一下不用完全匹配,毕竟是为了看代码,不是写代码。
去掉勾

加载模块 msvcpxxd.dll

在输出窗口要确认有调试版本的模块加载,msvcpxxd.dll,关键看d结尾的dll文件:xxd.dll,这个是debug版本的模块,用ctrl+f搜索msvcp即可。
加载的关键模块

没有模块咋整

需要安装一下子。随便找一个MFC的头文件,查找文件位置。
找文件
从头文件目录一直往上找,一直找到VC
在这里插入图片描述
VC里面的分发库安装一下。

  1. 注意对应的版本,版本不匹配就需要上面提到的设置。
  2. 如果系统安装有高版本的分发库,比如安装2017已经安装2019,那么就需要把高版本的分发库卸载了,再安装现在的版本,再安装高的版本,因为有高的版本现在的版本安装不上。安装以后系统就会有模块文件了。
  3. 注意自己系统位数,安装对应的分发库,现在一般都x64了。
    在这里插入图片描述

断点

现在vs不知道为什么F12或者F10直接蹦不进去,就需要打开对应的.cpp文件,设置上断点,然后就能停到需要的地方了。
还有就是如果对应头文件的cpp文件在编辑器打开着的话,F12是能直接跳转的,如果没有打开那就没反应。
这里说的都是库文件,自己写的工程里面的是直接可以跳转的。

找不到cpp

找不到的话就需要一些手段了,比如我用Notepad++直接搜,确认是那个cpp文件实现的方法,然后把文件拉到VS里面打开,再继续下断点。
在这里插入图片描述

PS

  1. 我在公司电脑VS2017和VS2022一顿操作都成功了。
  2. 家里电脑VS2017一顿操作也成功了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/499288.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Anroid开发过程中常见的异常及解决方法

本文总结了在android开发中一些常见的错误及异常,特此分享! The import android cannot be resolved 错误 将android源码通过eclipse的import功能导入的话,如果出现了“The import android cannot be resolved”错误。不用着急,…

petalinux烧写image.ub报错

xinlinx SDK烧写petalinux生成的BOOT.BIN和image.ub时,BOOT.BIN烧写正常,image.ub烧写报错如下 Erase Operation failed. INFO: [Xicom 50-44] Elapsed time 0 sec.ERROR: Flash Operation Failed串口助手操作擦除flash如图: 解决方法&am…

jenkins插件下载失败bug

如果遇到安装jenkins插件经常失败并报以下类似错误,很可能是因为jenkins国外官方插件地址下载速度非常慢,我们可以修改为国内插件地址。 java.io.IOException: Failed to load: SCM API Plugin (scm-api 676.v886669a_199a_a_) - Jenkins (2.361.4) or h…

linux操作docker

docker地址 官方地址 centos7安装docker 卸载旧版本docker sudo //在前面表示以管理员权限操作yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine安装docker //安装所需资…

每天十条linux知识点-24-0226(1)

文章目录 1.在哪下载linux内核源码?2.linux文件夹都有哪些文件?arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录,如i386、arm、arm64、powerpc、mips等。block:块设备驱动程序I/O调度。certs&…

07-Linux部署Nginx

Linux部署Nginx 简介 NGINX是一款高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。它的特点包括占用内存少、并发能力强,因此在处理高负载和高并发的场景时表现优秀。NGINX由俄罗斯的程序设计师Igor Sysoev开发,最初是为俄…

面向对象编程入门:掌握C++类的基础(2/3):深入理解C++中的类成员函数

在C编程中,类是构建程序的基石,而理解类的默认成员函数对于高效使用C至关重要。本文将深入探讨这六个默认成员函数及其他相关概念,提供给读者一个全面的视角。 类的6个默认成员函数: 如果一个类中什么成员都没有,简称为…

如何在Win系统从零开始搭建Z-blog网站,并将本地博客发布到公网可访问

文章目录 1. 前言2. Z-blog网站搭建2.1 XAMPP环境设置2.2 Z-blog安装2.3 Z-blog网页测试2.4 Cpolar安装和注册 3. 本地网页发布3.1. Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 想要成为一个合格的技术宅或程序员,自己搭建网站制作网页是绕…

1990-2022年世界各国基于消费的人均CO2排放/世界各国基于人均消费的二氧化碳排放数据

1990-2022年世界各国基于消费的人均CO2排放/世界各国基于人均消费的二氧化碳排放数据 1、时间:1990-2022年 2、指标:Entity、Code、Year、Annual CO2 emissions (per capita)、Per capita consumption-based CO2 emissions 3、来源:GCP 4…

UE5 C++ 发射子弹发射(Projectile)

一.相关蓝图的练习,在我之前的文章中射击子弹案例-CSDN博客 本篇使用C实现 1.创建C类 MyBullet,在MyBullet.h中包含相关头文件 #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "Components/StaticMeshComponent.…

本地搭建xss平台并获取cookie演练

前言 一般而言,搭建xss平台是不被允许的,但是由于教育的目的,搭建xss平台更能让学习者更加直观感受xss漏洞对我们的危害和它的重要性。 搭建xss平台 1.搭建xss平台的基础是在phpstudy一个集成环境上的,所有第一步要安装phpstudy&a…

VS Code常用快捷键

前言 对于开发者而言,熟悉快捷键的使用,能够起到事半功倍的作用,提高工作效率。以下是我整理的一份VS Code常用快捷键清单,希望能够帮助到你,欢迎在评论区留下你的常用快捷键🤞。 设置VS Code中的键盘快捷…