使用QEMU+GDB能够实现源代码级的内核调试,但是,存在一个问题──当内核允许中断时,单步命令(n与s)会进入时钟中断。通过浏览QEMU的源代码,大体把原因找了出来。 单步命令(n与s)在gdb远程调试通讯中是s(参看info gdb),qemu的gdb stub在受到s命令后将虚拟CPU进入单步状态,但是在接收到s命令前,qemu的虚拟CPU是停止的(在等待gdb的命令),注意,这个时候,虚拟时钟计时并没有停止,所以,很可能在qemu的虚拟CPU还没开始的时候就需要触发时钟中断了,但是虚拟CPU还在停止状态,中断无法触发。接收到s命令后,虚拟CPU开始执 [阅读全文] [PDF]
无论是多么优秀的程序员,都难以保证自己在编写代码时不会出现任何错误,因此调试是软件开发过程中的一个必不可少的组成部分。当程序完成编译之后,它很可能无法正常运行,或者会彻底崩溃,或者不能实现预期的功能。此时如何通过调试找到问题的症结所在,就变成了摆在开发人员面前最严峻的问题。通常说来,软件项目的规模越大,调试起来就会越困难,越需要一个强大而高效的调试器作为后盾。对于Linux程序员来讲,目前可供使用的调试器非常多,GDB(GNU DeBugger)就是其中较为优秀的。 初识GDB GDB是自由软件基金会(Free Software Foundati [阅读全文] [PDF]
作者:David Seager GNU 调试器简介 作者:David Seager Linux 的大部分特色源自于 shell 的 GNU 调试器,也称作 gdb。gdb 可以让您查看程序的内部结构、打印变量值、设置断点,以及单步调试源代码。它是功能极其强大的工具,适用于修复程序代码中的问题。在本文中,我将尝试说明 gdb 有多棒,多实用。 编译 开始调试之前,必须用程序中的调试信息编译要调试的程序。这样,gdb 才能够调试所使用的变量、代码行和函数。如果要进行编译,请在 gcc(或 g++)下使用额外的 -g 选项来编译程 [阅读全文] [PDF]
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。 一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) 3、当程序被停住时,可以检查此时你的程序中所发生的事。 4、动态的 [阅读全文] [PDF]
Linux 包含了一个叫 gdb 的 GNU 调试程序. gdb 是一个用来调试 C 和 C++ 程序的强力调试器. 它使你能在程序运行时观察程序的内部结构和内存的使用情况. 以下是 gdb 所提供的一些功能: 它使你能监视你程序中变量的值. 它使你能设置断点以使程序在指定的代码行上停止执行. 它使你能一行行的执行你的代码. 在命令行上键入 gdb 并按回车键就可以运行 gdb 了, 如果一切正常的话, gdb 将被启动并且你将在屏幕上看到类似的内容: GDB is free software and you are [阅读全文] [PDF]
gdb 应用举例 本节用一个实例教你一步步的用 gdb 调试程序. 被调试的程序相当的简单, 但它展示了 gdb 的典型应用. 下面列出了将被调试的程序. 这个程序被称为 greeting , 它显示一个简单的问候, 再用反序将它列出. #include <stdio.h> main () { char my_string[] = "hello there"; my_print (my_string); my_print2 (my_string); } void my_print (char *string) [阅读全文] [PDF]
1 共6条 分1页
- flexsdk:使用 Flex SDK 实现一个 Facebook 相册
- silverlight:[Silverlight] 有关线程调用的扩展思路方法
- silverlight播放器:Silverlight专题(15) - 你自己的视频播放器的自定义MoveToPointSlider
- silverlight:Silverlight专题(14) - 基于Silverlight的Live Search图片搜索
- actionscript3.0:ActionScript 3.0 Step By Step系列文章
- actionscript3.0:ActionScript 3.0 Step By Step系列(一):工欲其善 先利其器(Flex Builder)
- actionscript3.0:ActionScript 3.0 Step By Step系列( 2):建立扎实的ActionScript 3.0语法基础
- actionscript:ActionScript 3.0 Step By Step系列( 3):学学流程控制 编编if-else & switch & while & for
- actionscript3.0:ActionScript 3.0 Step By Step系列( 4):来自面向对象开发的前的呐喊: 学会写可重用的代码
- actionscript3.0:ActionScript 3.0 Step By Step系列( 5):走在面向对象开发的路上 以类为基础去研究编程问题
- actionscript3.0:ActionScript 3.0 Step By Step系列( 6):学对象事件模型 从点击按扭开始
- actionscript3.0:ActionScript 3.0 Step By Step系列( 7):使用XML和XMLList类处理XML数据
- actionscript3.0:ActionScript 3.0 Step By Step系列( 8):动态的数据展现源于灵活的数据绑定
- actionscript3.0:ActionScript 3.0 Step By Step系列( 9):使用样式(style)和皮肤(Skin)两大画笔为应用程序界面画妆
- flex自定义组件:使用FLEX进行多文件上传和自定义上传信息
- flash图表:Flash图表(FusionChartsV3)的简单应用
- richtexteditor:Flex中如何控制鼠标移出RichTextEditor编辑范围外的时候隐藏其工具栏的例子
- flex自定义控件:Flex中如何利用textFieldStyleName样式自定义ColorPickerControl控件内文本风格的例子
- flex样式:Flex中如何利用swatchGridBackgroundColor样式设置ColorPicker的样本颜色网格背景颜色的例子
- colorpicker:Flex中如何利用swatchHighlightSize样式设置ColorPickerControl控件加亮边框粗细尺寸的例子