编程(Programming)是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。为了使计算机能够理解(understand)人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
windbg是款windows平台下强大的用户态和内核态调试工具,相比较于Visual Studio,它是一个轻量级的调试工具,可用于调试内核模式和用户模式代码、分析故障转储以及在代码执行时检查 CPU 寄存器。
虽然windbg也提供图形界面操作,但它最强大的地方还是有着强大的调试命令,一般情况会结合GUI和命令行进行操作,常用的视图有:局部变量、全局变量、调用栈、线程、命令、寄存器、白板等。其中“命令”视图是默认打开的。
windbg特色
- Windbg是Microsoft公司免费调试器调试集合中的GUI的调试器,支持Source和Assembly两种模式的调试。
- Windbg不仅可以调试应用程序,还可以进行Kernel Debug。
- 结合Microsoft的Symbol Server,可以获取系统符号文件,便于应用程序和内核的调试。
- Windbg支持的平台包括X86、IA64、AMD64。
windbg快捷键
- CommandAtl+1输入命令、显示命令结果和调试信息输出。
- WatchAlt+2观察指令全局变量、局部变量和寄存器的信息。
- LocalsAlt+3自动显示当前函数的所有局部变量。
- RegistersAtl+4观察和修改寄存器的值。
- MemoryAlt+5观察和修改内存数据。
- CallStackAlt+6栈中记录的函数调用序列。
- DisassemblyAlt+7反汇编。
- ScratchPadAlt+8白板,可以用来做调试笔记等。
- ProcessesandThreadsAlt+9显示所有调试目标的列表,包括进程和线程等。
- CommandBrowserAlt+N执行和浏览命令。
使用编程语言写的程序,由于每条指令都对应计算机一个特定的基本动作,所以程序占用内存少、执行效率高。