在嵌入式开发中,有时候需要进行源码级别的调试,可以设置断点,单步执行,相比于每步打印printf或者printk来说,更加友好。下面就来介绍这种调试方法。 gdb交叉调试类似于网络浏览器,本地PC为客户端,远程开发板为服务器端,双方都要统一编译工具链,版本最好保持一致。 --target 指定了目标...
分类:
数据库 时间:
2015-04-10 13:22:13
阅读次数:
275
1、调试所建立的Windows服务项目。网上找了一些有关Windows服务调试的方法,很多大牛们建议Copy到Winform中调试,本菜鸟经过领导指点有个很好的调试方法,Mrak一下:如何建立就不多说了,网上有很多建立的帖子和文章。Windows服务项目在解决方案目录如下。(其中ProjectIns...
1 . 调试输入子系统 在调试输入子系统时,input_system,可以通过hexdump 来打开并且实时读取对于输入设备的值,数值关系如下图所示: 每一次按键事件上报后,都会有type为0的EV_SYN同步事件触发。value中的1表示按下,0表示松开,2代表重复类事件,设置按键中断为边沿触发,...
分类:
其他好文 时间:
2015-04-08 22:49:53
阅读次数:
156
http://www.cnblogs.com/donghuizaixian/archive/2015/04/02/4387083.html上一篇我们大概聊了如何写一个简单的字符设备驱动,我们不是神,写代码肯定会出现问题,我们需要在编写代码的过程中不断调试。在普通的c应用程序中,我们经常使用print...
分类:
系统相关 时间:
2015-04-07 11:30:45
阅读次数:
172
上一篇我们大概聊了如何写一个简单的字符设备驱动,我们不是神,写代码肯定会出现问题,我们需要在编写代码的过程中不断调试。在普通的c应用程序中,我们经常使用printf来输出信息,或者使用gdb来调试程序,那么驱...
分类:
系统相关 时间:
2015-04-02 16:51:47
阅读次数:
167
上一篇我们大概聊了如何写一个简单的字符设备驱动,我们不是神,写代码肯定会出现问题,我们需要在编写代码的过程中不断调试。在普通的c应用程序中,我们经常使用printf来输出信息,或者使用gdb来调试程序,那么驱动程序如何调试呢?我们知道在调试程序时经常遇到的问题就是野指针或者数组越界带来的问题,在应用程序中运行这种程序就会报segmentation fault的错误,而由于驱动程序的特殊性,出现此类...
分类:
系统相关 时间:
2015-04-02 07:57:33
阅读次数:
416
上一篇我们大概聊了如何写一个简单的字符设备驱动,我们不是神,写代码肯定会出现问题,我们需要在编写代码的过程中不断调试。在普通的c应用程序中,我们经常使用printf来输出信息,或者使用gdb来调试程序,那么驱动程序如何调试呢?我们知道在调试程序时经常遇到的问题就是野指针或者数组越界带来的问题,在应用...
分类:
系统相关 时间:
2015-04-02 07:57:26
阅读次数:
320
使用空指针和缓冲区溢出是产生oops的两个最常见原因。1、直接查看oops信息,首先查找源代码发生oops的位置,通过查看指令寄存器EIP的值,可以找到位置。再查找函数调用栈可以得到更多的信息。从函数调用栈可辨别出局部变量,全局变量和函数参数。较为重要的信息就是指令指针(EIP),即出错指令的地址。...
分类:
系统相关 时间:
2015-04-01 16:42:39
阅读次数:
440
简介在代码量比较小的程序里追踪bug可以直接进行断点调试;但对于较大的软件系统这通常是一个低效的办法,尤其是软件系统包含UI交互的时候,断点常常使得UI卡死,使得追踪bug变得难以进行;另一种情形则是在多线程或者多进程的应用场景里,断点也很难发挥作用;一般书上讲printf是最好的调试方法,通过在关...
分类:
其他好文 时间:
2015-03-30 21:02:33
阅读次数:
175