7.1编译与预处理-排错讲解-c学习

阅读次数: 155

  • A+
所属分类:C语言 语言学习

内存窗口,可以查看变量再内存中是如何表示的

寄存器,下了断点以后,可以查看CPU是如何计算的,如何给变量赋值的

局部变量,可以查看局部变量的值还有类型

监视,可以监视变量的变化

自动串口,显示出所有的变量,临时变量的类型和值

断点,就是让程序中断,可以查看当前的状态,分析错误

调用堆栈,可以查看代码运行到哪一行

输出窗口,可以查看输出的信息

进程窗口,可以查看调式的进程

线程窗口,可以查看有多少个线程

模块窗口,可以查看我们的程序加载了多少个模块,使用动态库编程的时候就需要查看

GPU线程,C语言可以实现GPU计算,进行GPU编程的时候可以查看线程(浮点类型的计算 GPU是CPU的速度的100倍)

并行堆栈,并行监视,一般用于调式多线程

反汇编,将C翻译成机器代码

及时窗口,可以临时改变相应的变量

命令窗口 start

Visual Studio 命令别名

别名通过缩短执行命令所需的文本,提供一种将命令输入到“查找/命令”框或“命令”窗口中的方法。 例如,可使用预定义的别名 >of(而不用输入 >File.OpenFile)显示“打开文件”对话框。

“命令”窗口中键入 alias 可显示当前别名及其定义的列表。 键入 >cls 可清除“命令”窗口中的内容。 如果要查看特定命令的别名,键入 alias <command name>。

您可以轻松为 Visual Studio 命令地创建自己的别名(有或没有参数)。 例如,使用别名的 File.NewFile MyFile.txt 语法是alias MyAlias File.NewFile MyFile.txt。 可以使用alias <alias name> /delete删除某个别名

下表包含预定义的 Visual Studio 命令的别名列表。 一些命令名具有一个以上的预定义别名。 单击以下命令名的链接,可显示解释这些命令的正确语法、参数和开关的详细主题。

命令名alias完整名称
Print 命令?Debug.Print
“快速监视”命令??Debug.Quickwatch
添加新项目AddProjFile.AddNewProject
“别名”命令aliasTools.Alias
“自动”窗口Autos调试.自动窗口
“断点”窗口bl调试.断点
切换断点bpDebug.ToggleBreakPoint
“调用堆栈”窗口CallStack调试.调用堆栈
清除书签ClearBook编辑.清除书签
关闭关闭文件.关闭
关闭所有文档CloseAllWindow.CloseAllDocuments
全部清除clsEdit.ClearAll
“命令”模式cmd视图.命令窗口
查看代码代码视图.查看代码
“列出内存”命令dDebug.ListMemory
“列出内存”命令 作为 ANSIdaDebug.ListMemory /Ansi
“列出内存”命令 单字节格式dbDebug.ListMemory /Format:OneByte
以 ANSI 形式“列出内存”命令(四字节格式)dcDebug.ListMemory /Format:FourBytes /Ansi
“列出内存”命令 四字节格式ddDebug.ListMemory /Format:FourBytes
删除到行首DelBOLEdit.DeleteToBOL
删除到行尾DelEOLEdit.DeleteToEOL
删除水平空白DelHSp编辑.删除水平空白
视图设计器designer视图.视图设计器
“列出内存”命令 浮点格式dfDebug.ListMemory /Format:Float
“反汇编”窗口disasm调试.反汇编
“列出内存”命令 八字节格式dqDebug.ListMemory /Format:EightBytes
以 Unicode 形式“列出内存”命令duDebug.ListMemory /Unicode
“计算语句”命令evalDebug.EvaluateStatement
ExitExit文件.退出
格式化选定内容format编辑.格式化选定内容
全屏FullScreen视图.全屏
“启动”命令g调试.启动
“转到”命令GotoLn编辑.转到
转到大括号GotoBrace编辑.转到大括号
F1帮助帮助帮助.F1 帮助
“即时”模式immedTools.ImmediateMode
将文件作为文本插入InsertFile编辑.将文件作为文本插入
“列出调用堆栈”命令kbDebug.ListCallStack
转换为小写Lcase编辑.转换为小写
剪切行LineCut编辑.剪切行
删除行LineDel编辑.删除行
列出成员ListMembers编辑.列出成员
“局部变量”窗口Locals调试.局部变量
“日志命令窗口输出”命令日志Tools.LogCommandWindowOutput
命令窗口标记模式mark工具.命令窗口标记模式
“内存”窗口Memory Memory1调试.内存1
内存窗口 2Memory2调试.内存2
内存窗口 3Memory3调试.内存3
内存窗口 4Memory4调试.内存4
“设置基数”命令nDebug.SetRadix
ShowWebBrowser 命令nav navigateView.ShowWebBrowser
下一书签NextBook编辑.下一书签
“新建文件”命令nf文件.新建文件
新建项目np NewProj文件.新建项目
“打开文件”命令of Open文件.打开文件
“打开项目”命令op文件.打开项目
折叠到定义/停止大纲显示OutlineDefs StopOutlining编辑.折叠到定义
逐过程p调试.逐过程
参数信息ParamInfo编辑.参数信息
跳出pr调试.跳出
上一书签PrevBook编辑.上一书签
打印文件print文件.打印
“属性”窗口props视图.属性窗口
Stopq调试.停止调试
重复redo编辑.重做
“寄存器”窗口registers调试.寄存器
运行到光标处rtc调试.运行到光标处
保存选定项save文件.保存选定项
全部保存SaveAll文件.全部保存
另存为SaveAs文件.将选定项另存为
shell 命令shell工具.Shell
停止在文件中查找StopFind编辑.在文件中查找 /stop
交换定位点SwapAnchor编辑.交换定位点
逐语句t调试.逐语句
制表符替换空格tabify编辑.制表符替换空格
“任务列表”窗口TaskList视图.任务列表
“线程”窗口线程调试.线程
水平平铺TileH窗口.水平平铺
垂直平铺TileV窗口.垂直平铺
切换书签ToggleBook编辑.切换书签
“工具箱”窗口toolbox视图.工具箱
“列出反汇编”命令uDebug.ListDisassembly
转换为大写Ucase编辑.转换为大写
撤消undo编辑.取消
空格替换制表符Untabify编辑.空格替换制表符
“监视”窗口Watch调试.监视N
切换自动换行WordWrap编辑.切换自动换行
列出进程|Debug.ListProcesses
“列出线程”命令~ ~*k ~*kbDebug.ListThreads Debug.ListTheads /AllThreads

命令窗口 end

性能与诊断,可以诊断应用程序的性能,进行压力测试

条件编译格式

#if 条件表达式
代码段
#else
代码段2
#endif

堆,卡内存

栈,卡CPU,设置栈的大小

静态区,全局变量声明与定义。静态全局变量与局部变量定义与声明

代码区,DLL注入

寄存器变量 GCC支持寄存器加速,使用频率高的变量,可以放在寄存器,绝对不能取地址,速度高于内存

函数调用,不可以返回栈区数据,函数返回副本机制

7.1编译与预处理-排错讲解-c学习
int a = 10;
int b = 5;
int c = 0;
_asm
{
 mov eax,c //eax = 0
 add eax,a //eax = 10
 add eax,b //eax = 15
 mov c,eax //eax 赋值给c
}

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: