热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深入掌握VC调试技巧与高级应用

在VC环境中,掌握高效的调试技巧和高级应用对于提高开发效率至关重要。本文详细介绍了如何通过检查程序中的括号匹配来避免常见的语法错误。具体操作包括将光标置于待检测的括号(如大括号{}、方括号[]和圆括号())上,系统会自动高亮显示对应的配对括号,从而帮助开发者快速定位和修复问题。此外,文章还探讨了其他实用的调试工具和方法,如断点设置、变量监视和调用堆栈分析,以全面提升代码调试的准确性和效率。

vc的调试,可以参考如下:
检测程序中的括号是否匹配
把光标移动到需要检测的括号&#xff08;如大括号{}、方括号[]、圆括号&#xff08;&#xff09;和尖括号<>&#xff09;前面&#xff0c;键入快
捷键“Ctrl&#xff0b;]”。如果括号匹配正确&#xff0c;光标就跳到匹配的括号处&#xff0c;否则光标不移动&#xff0c;并且机箱喇叭
还会发出一声警告声。

2.查看一个宏&#xff08;或变量、函数&#xff09;的宏定义

把光标移动到你想知道的一个宏上&#xff0c;就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键
菜单中的Go To Defition Of …),如果没有建立Browse files&#xff0c;会出现提示对话框&#xff0c;确定&#xff0c;然后就
会跳到定义那些东西的地方。

3.格式化一段乱七八糟的源代码

选中那段源代码&#xff0c;按ATL&#43;F8。

4.在编辑状态下发现成员变量或函数不能显示

删除该项目扩展名为.ncb文件&#xff0c;重新打开该项目。

5.如何整理ClassView视图中大量的类

可以在classview 视图中右键新建文件夹&#xff08;new folder&#xff09;&#xff0c;再把具有相近性质的类拖到对应的文件
夹中&#xff0c;使整个视图看上去清晰明了.

6.定位预处理指定

在源文件中定位光标到对称的#if, #endif,使用Ctrl&#43;K.

7.如何添加系统中Lib到当前项目

在Project | Settings | Link | Object/library modules&#xff1a;输入Lib名称&#xff0c;不同的Lib之间用空
格格开.

8.如何添加系统中的头文件(.h)到当前项目.

#include ,告诉编译到VC系统目录去找;使用#include "FileName.h"&#xff0c;告诉编译在当
前目录找.

9.如何在Studio使用汇编调试

在WorkBench的Debugger状态下按CTRL&#43;F7.

10.怎样处理ClassZiard找不到的系统消息

如果要在ClassWizard中处理WM_NCHITTEST等系统消息&#xff0c;请在ClassWizard中Class Info页中将
Message filter改为Window就有了.

11.如何干净的删除一个类

先从Workspace中的FileView中删除对应的.h和.cpp文件,再关闭项目&#xff0c;从实际的文件夹中删除
对应的.h和.cpp文件与.clw文件。

12.如果让控制台应用程序支持mfc类库

可以在控制台应用程序中include 来引入mfc库&#xff0c;但是控制台应用程序缺省是单线程的&#xff0c;mfc是多
线程的&#xff0c;为解决该矛盾&#xff0c;在project setting->c/c&#43;&#43; 选项&#xff0c;选择code generation,
在use run-time library 下拉框中选择debug multithread。

13.如何汉化只有可执行代码的.exe 文件

在nt 下利用vc open file 以resources方式打开*.exe 文件&#xff0c;直接修改资源文件&#xff0c;然后保存即可。

附&#xff1a;VC项目文件说明

.opt 工程关于开发环境的参数文件。如工具条位置等信息&#xff1b; 
.aps (AppStudio File),资源辅助文件,二进制格式,一般不用去管他. 
.clw ClassWizard信息文件,实际上是INI文件的格式,有兴趣可以研究一下.有时候ClassWizard出
     问题,手工修改CLW文件可以解决.如果此文件不存在的话,每次用ClassWizard的时候绘提示你
     是否重建. 
.dsp (DeveloperStudio Project):项目文件,文本格式,不过不熟悉的话不要手工修改.DSW
     (DeveloperStudio Workspace)是工作区文件,其他特点和DSP差不多. 
.plg 是编译信息文件,编译时的error和warning信息文件&#xff08;实际上是一个html文件&#xff09;,一般用
     处不大.在Tools->Options里面有个选项可以控制这个文件的生成. 
.hpj (Help Project)是生成帮助文件的工程,用microsfot Help Compiler可以处理. 
.mdp (Microsoft DevStudio Project)是旧版本的项目文件,如果要打开此文件的话,会提示你是否
     转换成新的DSP格式. 
.bsc 是用于浏览项目信息的,如果用Source Brower的话就必须有这个文件.如果不用这个功能的话,
     可以在Project Options里面去掉Generate Browse Info File,可以加快编译速度. 
.map 是执行文件的映像信息纪录文件,除非对系统底层非常熟悉,这个文件一般用不着. 
.pch (Pre-Compiled File)是预编译文件,可以加快编译速度,但是文件非常大. 
.pdb (Program Database)记录了程序有关的一些数据和调试信息,在调试的时候可能有用. 
.exp 只有在编译DLL的时候才会生成,记录了DLL文件中的一些信息.一般也没什么用. 
.ncb 无编译浏览文件(no compile browser)。当自动完成功能出问题时可以删除此文件。build后
     会自动生成。


推荐阅读
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 洛谷 P4009 汽车加油行驶问题 解析
    探讨了经典算法题目——汽车加油行驶问题,通过网络流和费用流的视角,深入解析了该问题的解决方案。本文将详细阐述如何利用最短路径算法解决这一问题,并提供详细的代码实现。 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
  • HTML前端开发:UINavigationController与页面间数据传递详解
    本文详细介绍了如何在HTML前端开发中利用UINavigationController进行页面管理和数据传递,适合初学者和有一定基础的开发者学习。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 本文探讨了如何将个人经历,特别是非传统的职业路径,转化为职业生涯中的优势。通过作者的亲身经历,展示了舞蹈生涯对商业思维的影响。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
  • 小编给大家分享一下Vue3中如何提高开发效率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获, ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
author-avatar
流浪汉中的小男人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有