首页 数据库 mysql教程 一些VC的快捷键以及调试技巧

一些VC的快捷键以及调试技巧

Jun 07, 2016 pm 03:11 PM
快捷键 技巧 括号 检测 程序 调试

1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号)前面,键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。 2.查看一个宏(或变量、

1.检测程序中的括号是否匹配    
把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号)前面,键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。    
 
2.查看一个宏(或变量、函数)的宏定义    
把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go  To  Defition  Of  …),如果没有建立Browse  files,会出现提示对话框,确定,然后就会跳到定义那些东西的地方。    
 
3.格式化一段乱七八糟的源代码    
选中那段源代码,按ATL+F8。    
 
4.在编辑状态下发现成员变量或函数不能显示    
删除该项目扩展名为.ncb文件,重新打开该项目。    
 
5.如何整理ClassView视图中大量的类    
可以在classview  视图中右键新建文件夹(new  folder),再把具有相近性质的类拖到对应的文件夹中,使整个视图看上去清晰明了.    
 
6.定位预处理指定    
在源文件中定位光标到对称的#if,  #endif,使用Ctrl+K.    
 
7.如何添加系统中Lib到当前项目    
在Project    |  Settings    |  Link    |  Object/library  modules:输入Lib名称,不同的Lib之间用空格格开.    
 
8.如何添加系统中的头文件(.h)到当前项目.    
#include  ,告诉编译到VC系统目录去找;使用#include  "FileName.h",告诉编译在当前目录找.    
 
9.如何在Studio使用汇编调试    
在WorkBench的Debugger状态下按CTRL+F7.    
 
10.怎样处理ClassZiard找不到的系统消息    
如果要在ClassWizard中处理WM_NCHITTEST等系统消息,请在ClassWizard中Class  Info页中将Message  filter改为Window就有了.    
 
11.如何干净的删除一个类    
先从Workspace中的FileView中删除对应的.h和.cpp文件,再关闭项目,从实际的文件夹中删除对应的.h和.cpp文件与.clw文件。    
 
12.如果让控制台应用程序支持mfc类库    
可以在控制台应用程序中include  来引入mfc库,但是控制台应用程序缺省是单线程的,mfc是多线程的,为解决该矛盾,在project  setting->c/c++  选项,选择code  generation,在use  run-time  library  下拉框中选择debug  multithread。    
 
13.如何汉化只有可执行代码的.exe  文件    
在nt  下利用vc  open  file  以resources方式打开*.exe  文件,直接修改资源文件,然后保存即可。    
 
附:VC项目文件说明    
.opt  工程关于开发环境的参数文件。如工具条位置等信息;    
 
.aps  (AppStudio  File),资源辅助文件,二进制格式,一般不用去管他.    
 
.clw  ClassWizard信息文件,实际上是INI文件的格式,有兴趣可以研究一下.有时候ClassWizard出问题,手工修改CLW文件可以解决.如果此文件不存在的话,每次用ClassWizard的时候绘提示你是否重建.    
 
.dsp  (DeveloperStudio  Project):项目文件,文本格式,不过不熟悉的话不要手工修改.DSW(DeveloperStudio  Workspace)是工作区文件,其他特点和DSP差不多.    
 
.plg  是编译信息文件,编译时的error和warning信息文件(实际上是一个html文件),一般用处不大.在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后会自动生成。  
 
//  选择字符  
1.  (COOL)按下Alt  键不放,点击鼠标左键拖动,可以选择文本块、可选择列。  
2.  安着Ctrl键不放,单击一个单词,可以选择一个单词,或双击。  
3.  将光标移在开始位置,按住shift点击鼠标左键可选择一段(在IE浏览其中照样可  
     用,看不到光标而已,  
4.  双击鼠标左键可选择一个单词。  
5.按住shift+上下方向键    可选择行。  
6.按住  ctrl+shift+左右方向键  可选择一个单词。  
7.            按Ctrl  +  C  可COPY光标所在的这一行。  
8.            按住shift+[End]  可选择本行。  
 
//////////////////////////////////////

    F1 显示帮助,如果光标停在代码的某个字符上,显示MSDN中相应的帮助内容
           F2 书签功能: Ctrl+F2 --在某行设置一个书签(再按一次次是取消)
           F2 --跳到下一个书签位置
           Shift+F2 --跳到上一个书签位置
           Ctrl+Shift+F2 --删除所有书签
           F3 查找: Ctrl+F3 --在文件中查找,如果当前光标在一个字符串上,
           那么自动查找此字符串.相似的有Ctrl+F
           F3 --查找文件中下一个串
           Shift+F3 --查找文件中上一个串
           F4(不是流行花园那个) 如果是编译后或者Find in Files后,可以逐条定位.
           Ctrl+F4 --关闭文件
           Alt+F4 --关闭VC(跟WINDOWS定义的一样)
           F5编译并执行 F5 --编译并通过VC执行
           Ctrl+F5 --不经过VC,直接执行编译后的exe
           Shift+F5 --F5运行后,直接从VC中停止程序(可以模拟当机情况)
           Ctrl+Shift+F5 --重新开始运行
           F6切换窗口 SplitWindow后,可以转换光标所在的窗口
           F7编译 F7 编译工程
           Ctrl+F7 编译当前文件
           Alt+F7 工程设置对话框
           F8选择的粘滞键 其实更常用的是按住Shift+方向键
           Alt+F8 选中的代码书写格式对齐
           F9设置断点 Ctrl+F9删除所有断点
           Alt+F9 显示编辑断点的对话框
           Ctrl+F9断点无效
           F10单步执行(Debug时)
           Ctrl+F10 执行到光标所在行
          (试试看Shift+F10什么效果)
           F11跟踪时进入函数内部
           Shift+F11跳到上一层调用栈
           F12跳到函数定义初(需要带Browse Info选项编译,建议不选,生成文件很大)
     编辑常用
           Ctrl+W 显示ClassWizard,边界面程序用的比较多
           Ctrl+Z/Ctrl+Y Undo/Redo
           Ctrl+U 字母转化为小写(有的VC没有设置)
           Ctrl+Shift+U 字母转化为大写(有的VC没有设置)
           Ctrl+S 保存(强烈建议编码时经常按两下,省得掉电死机时后悔,呵呵,
                       该键在多数编辑软件都适用)
           Ctrl+D 查找(嗯,如果有SOFTICE,那么就是呼叫它了)
           Ctrl+F 正宗的查找快捷键
           Ctrl+G 跳到文件中第n行
           Ctrl+Shift+G 光标在一个文件名上,直接跳到指定文件
           Ctrl+H 替换
           Ctrl+J,K #ifdef...#endif查找配对
           Ctrl+L 剪切一行
           Ctrl+} 匹配括号(),{}
     调试常用
           Shift+F9 QuickWatch,并显示关标所在处的变量
           Alt+3 Watch 查看窗口
           Alt+4 Variables 监视变量(常用)
           Alt+5 显示寄存器
           Alt+6 显示内存(常用)
           Alt+7 显示堆栈情况(当机了多看看)
           Alt+8 显示汇编码
     还有一些常用的
           Ctrl+TAB 切换打开的文件视图,(如果按住Ctrl,顺序向后切换)
           Ctrl+Shift+TAB切换打开的文件视图,(如果按住Ctrl,顺序向前切换)
           TAB 选中后,整体后移一个制表符,
           Shift+TAB 选中后,整体前移一个制表符,
           Alt+0 将焦点移到工作区(ESC回编辑区)
           Alt+2 将焦点移到输出区(ESC回编辑区)
           Ctrl+PgUp 逆序切换工作区视图
           Ctrl+PgDn 顺序切换工作区视图
      另外,VC没有设置打开,关闭工作区,和打开关闭输出区的快捷键,如果觉得不方便,
  可以自己注册(我设置的是 Ctrl+,和Ctrl+/).

注册在Tools => Customize => KeyBoard


http://www.cppblog.com/kenbardy/articles/4188.html

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

iPhone中缺少时钟应用程序:如何修复 iPhone中缺少时钟应用程序:如何修复 May 03, 2024 pm 09:19 PM

您的手机中缺少时钟应用程序吗?日期和时间仍将显示在iPhone的状态栏上。但是,如果没有时钟应用程序,您将无法使用世界时钟、秒表、闹钟等多项功能。因此,修复时钟应用程序的缺失应该是您的待办事项列表的首位。这些解决方案可以帮助您解决此问题。修复1–放置时钟应用程序如果您错误地从主屏幕中删除了时钟应用程序,您可以将时钟应用程序放回原位。步骤1–解锁iPhone并开始向左侧滑动,直到到达“应用程序库”页面。步骤2–接下来,在搜索框中搜索“时钟”。步骤3–当您在搜索结果中看到下方的“时钟”时,请按住它并

C++ 函数调试详解:如何调试多线程函数中的问题? C++ 函数调试详解:如何调试多线程函数中的问题? May 02, 2024 pm 04:15 PM

C++多线程调试可使用GDB:1.启用调试信息编译;2.设置断点;3.使用infothreads查看线程;4.用thread切换线程;5.使用next、stepi、locals调试。实战案例调试死锁:1.使用threadapplyallbt打印堆栈;2.检查线程状态;3.单步执行主线程;4.使用条件变量协调访问来解决死锁。

如何使用LeakSanitizer调试C++内存泄漏? 如何使用LeakSanitizer调试C++内存泄漏? Jun 02, 2024 pm 09:46 PM

如何使用LeakSanitizer调试C++内存泄漏?安装LeakSanitizer。通过编译标志启用LeakSanitizer。运行应用程序并分析LeakSanitizer报告。识别内存分配类型和分配位置。修复内存泄漏,确保释放所有动态分配的内存。

MIT最新力作:用GPT-3.5解决时间序列异常检测问题 MIT最新力作:用GPT-3.5解决时间序列异常检测问题 Jun 08, 2024 pm 06:09 PM

今天给大家介绍一篇MIT上周发表的文章,使用GPT-3.5-turbo解决时间序列异常检测问题,初步验证了LLM在时间序列异常检测中的有效性。整个过程没有进行finetune,直接使用GPT-3.5-turbo进行异常检测,文中的核心是如何将时间序列转换成GPT-3.5-turbo可识别的输入,以及如何设计prompt或者pipeline让LLM解决异常检测任务。下面给大家详细介绍一下这篇工作。图片论文标题:Largelanguagemodelscanbezero-shotanomalydete

改进的检测算法:用于高分辨率光学遥感图像目标检测 改进的检测算法:用于高分辨率光学遥感图像目标检测 Jun 06, 2024 pm 12:33 PM

01前景概要目前,难以在检测效率和检测结果之间取得适当的平衡。我们就研究出了一种用于高分辨率光学遥感图像中目标检测的增强YOLOv5算法,利用多层特征金字塔、多检测头策略和混合注意力模块来提高光学遥感图像的目标检测网络的效果。根据SIMD数据集,新算法的mAP比YOLOv5好2.2%,比YOLOX好8.48%,在检测结果和速度之间实现了更好的平衡。02背景&动机随着远感技术的快速发展,高分辨率光学远感图像已被用于描述地球表面的许多物体,包括飞机、汽车、建筑物等。目标检测在远感图像的解释中

golang 函数调试和分析的捷径 golang 函数调试和分析的捷径 May 06, 2024 pm 10:42 PM

本文介绍了Go函数调试和分析的捷径,包括:内置调试器dlv,用于暂停执行、检查变量、设置断点。日志记录,使用log包记录消息,在调试时查看。性能分析工具pprof,生成调用图并分析性能,使用gotoolpprof分析数据。实战案例:通过pprof分析内存泄漏,生成调用图显示导致泄漏的函数。

Java 并发编程中如何进行并发测试和调试? Java 并发编程中如何进行并发测试和调试? May 09, 2024 am 09:33 AM

并发测试和调试Java并发编程中的并发测试和调试至关重要,以下技术可供使用:并发测试:单元测试:隔离并测试单个并发任务。集成测试:测试多个并发任务之间的交互。负载测试:评估应用程序在高负载下的性能和可扩展性。并发调试:断点:暂停线程执行并检查变量或执行代码。日志记录:记录线程事件和状态。堆栈跟踪:识别异常源头。可视化工具:监视线程活动和资源使用情况。

如何调试 PHP 异步代码 如何调试 PHP 异步代码 May 31, 2024 am 09:08 AM

调试PHP异步代码的工具包括:Psalm:静态分析工具,可发现潜在错误。ParallelLint:检查异步代码并提供建议的工具。Xdebug:用于调试PHP应用程序的扩展,可通过启用会话并逐步执行代码来调试。其他技巧还包括使用日志记录、断言、局部运行代码和编写单元测试。

See all articles