热门标签 | 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后
     会自动生成。


推荐阅读
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • [论文笔记] Crowdsourcing Translation: Professional Quality from Non-Professionals (ACL, 2011)
    Time:4hoursTimespan:Apr15–May3,2012OmarZaidan,ChrisCallison-Burch:CrowdsourcingTra ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • 本文介绍了在使用Visual Studio 2015进行项目开发时,遇到类向导弹出“异常来自 HRESULT:0x8CE0000B”错误的解决方案。通过具体步骤和实践经验,帮助开发者快速排查并解决问题。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 本文介绍如何通过注册表编辑器自定义和优化Windows文件右键菜单,包括删除不需要的菜单项、添加绿色版或非安装版软件以及将特定应用程序(如Sublime Text)添加到右键菜单中。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
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社区 版权所有