- 浏览: 277514 次
文章分类
- 全部博客 (276)
- burp+hydra暴力破解 (1)
- kali linux工具集 (6)
- kali (59)
- linux (54)
- password (14)
- web (63)
- 渗透测试 (50)
- windows (40)
- metasploit (9)
- 信息收集 (32)
- burp suit (4)
- 安全审计 (9)
- https://github.com/secretsquirrel/the-backdoor-factory (0)
- nmap (4)
- arachni (2)
- 工具 (5)
- sql (3)
- 网络 (2)
- 后渗透测试 (10)
- 内网 (5)
- 无线 (2)
- C (3)
- bios (1)
- RoR (12)
- mongodb (1)
- linxu (1)
- gdb (1)
- linux,虚拟化 (1)
- python (4)
最新评论
编译
For gdb:
For GDBserver
使用
on embeded system:
on pc:
这时会出现错误:
错误类型:
Python Exception <type 'exceptions.NameError'> Installation error: gdb.execute_unwinders function is missing:
这个错误表明需要安装gdb
所以make install
调试
(1)改变gdb信号处理的设置
比如,以下设置会告诉gdb在接收到SIGINT时不要停止、打印出来、传递给调试目标程序
(2)使用gdb命令直接向调试的应用程序发送信号
首先在你希望发送信号的语句处设置断点,然后运行程序,当停止到断点所在位置后,用gdb的signal命令发送信号给调试目标程序
切换线程
http://blog.csdn.net/expleeve/article/details/6258175
https://sourceware.org/gdb/wiki/BuildingCrossGDBandGDBserver
http://www.cnx-software.com/2012/01/31/debugging-embedded-linux-with-gdbserver-and-insight-gdb-gui/
http://stackoverflow.com/questions/33657527/a-python-exception-error-in-gdb-7-10
https://lists.gnu.org/archive/html/bug-gnulib/2009-05/msg00268.html
http://www.cnblogs.com/xuxm2007/archive/2011/04/01/2002162.html
For gdb:
/path/to/gdb-src/configure --target=arm-linux-gnueabi make
For GDBserver
引用
/path/to/gdb-src/gdb/gdbserver/configure --host=arm-linux-gnueabi
../.././../gnulib/import/mbrtowc.c:125: error: 'MB_CUR_MAX' undeclared (first use in this function)
vim ../gnulib/import/mbrtowc.c
#define MB_CUR_MAX 1
make
../.././../gnulib/import/mbrtowc.c:125: error: 'MB_CUR_MAX' undeclared (first use in this function)
vim ../gnulib/import/mbrtowc.c
#define MB_CUR_MAX 1
make
使用
on embeded system:
引用
gdbserver target_ip:target_port prog_dbg
on pc:
引用
cd gdb
./gdb
>>target remote target_ip:target_port
./gdb
>>target remote target_ip:target_port
这时会出现错误:
错误类型:
Python Exception <type 'exceptions.NameError'> Installation error: gdb.execute_unwinders function is missing:
这个错误表明需要安装gdb
所以make install
调试
(1)改变gdb信号处理的设置
比如,以下设置会告诉gdb在接收到SIGINT时不要停止、打印出来、传递给调试目标程序
引用
=====================================
(gdb) handle SIGINT nostop print pass
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) y
Signal Stop Print Pass to program Description
SIGINT No Yes Yes Interrupt
(gdb)
=====================================
(gdb) handle SIGINT nostop print pass
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) y
Signal Stop Print Pass to program Description
SIGINT No Yes Yes Interrupt
(gdb)
=====================================
(2)使用gdb命令直接向调试的应用程序发送信号
首先在你希望发送信号的语句处设置断点,然后运行程序,当停止到断点所在位置后,用gdb的signal命令发送信号给调试目标程序
引用
====================================
(gdb) signal SIGINT
Continuing with signal SIGINT.
Breakpoint 1, handler (signal=2) at main.cpp:15
15 printf("Signal handler.../n";
====================================
(gdb) signal SIGINT
Continuing with signal SIGINT.
Breakpoint 1, handler (signal=2) at main.cpp:15
15 printf("Signal handler.../n";
====================================
切换线程
引用
info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。
thread ID 切换当前调试的线程为指定ID的线程。
break thread_test.c:123 thread all 在所有线程中相应的行上设置断点
thread apply ID1 ID2 command 让一个或者多个线程执行GDB命令command。
thread apply all command 让所有被调试线程执行GDB命令command
thread ID 切换当前调试的线程为指定ID的线程。
break thread_test.c:123 thread all 在所有线程中相应的行上设置断点
thread apply ID1 ID2 command 让一个或者多个线程执行GDB命令command。
thread apply all command 让所有被调试线程执行GDB命令command
http://blog.csdn.net/expleeve/article/details/6258175
https://sourceware.org/gdb/wiki/BuildingCrossGDBandGDBserver
http://www.cnx-software.com/2012/01/31/debugging-embedded-linux-with-gdbserver-and-insight-gdb-gui/
http://stackoverflow.com/questions/33657527/a-python-exception-error-in-gdb-7-10
https://lists.gnu.org/archive/html/bug-gnulib/2009-05/msg00268.html
http://www.cnblogs.com/xuxm2007/archive/2011/04/01/2002162.html
发表评论
-
使用GCC/GNU-ld删除dead code
2016-05-09 17:18 611[url] https://gcc.gnu.org/ml/gc ... -
python 修饰器
2016-02-05 15:11 375def wrapper1(function): ... -
ubuntu 14.04 install e431 wifi driver
2016-01-25 20:59 412引用 sudo apt-get install linu ... -
git
2016-01-07 12:01 404http://finalshares.cn/attachmen ... -
linux change boot image
2016-01-02 00:55 5021. change grub2 引用vim /etc/defa ... -
binwalk --dd
2015-12-28 21:51 1353http://www.devttys0.com/2012/12 ... -
embeded LD_PRELOAD
2015-12-28 00:17 509引用 eve@eve:~/squashfs-root$ sud ... -
hardware hacking
2015-12-27 01:32 655For video stuff: https://www.yo ... -
ubuntu support kindle
2015-12-20 23:13 328引用apt-get install mtpfs -
linux 备份系统
2015-12-05 22:22 384引用备份 dd if=/dev/sda > myimag ... -
[译]root权限运行vlc
2015-11-30 22:19 1254原文地址:http://www.blackmoreops.co ... -
【转】关闭TCP Timestamps来节省一点带宽
2015-10-15 23:29 1577http://highscalability.com/blog ... -
[转]Terminal escape sequences – the new XSS for Linux sysadmins
2015-09-25 23:58 399https://ma.ttias.be/terminal-es ... -
ipython basic
2015-09-25 11:31 418Introspection引用 Using a questio ... -
static in C
2015-09-22 11:35 279jason@ubuntu:~/test$ cat a.c ... -
lxc重命名容器名
2015-09-20 00:25 769lxc-ls 使用文件夹名作为容器名。所以可以更改文件夹名称来 ... -
lxc更新apt源
2015-09-18 11:49 718最近一直在使用lxc创建容器,每次创建一个容器都需要把apt源 ... -
wireshark:Couldn't run /usr/bin/dumpcap in child process: Permission denied
2015-09-11 10:26 3218When start wireshark, I met an ... -
[转]调试python内存泄漏
2015-09-09 00:48 324http://chase-seibert.github.io/ ... -
[转]Python @classmethod and @staticmethod for beginner?
2015-09-07 16:59 338http://stackoverflow.com/questi ...
相关推荐
嵌入式Linux平台gdb调试文档,可以迅速定位问题位置,欢迎大家下载使用! 嵌入式Linux平台gdb
该压缩包是嵌入式linux下移植gdb和gdbserver调试工具源码包,并且最重要里面还有一份移植文档,该文档内容会手把手教你编译安装和使用gdb和gdbserver调试工具
使用gdb调试嵌入式应用程序 可使用gdb或者图形化的ddd和insight
程序运行到异常的地方,这时会在执行文件的当前目录产生core文件,嵌入式gdb调试core
厦门万册 嵌入式培训 GDB调试文档 厦门万册 嵌入式培训 GDB调试文档 厦门万册 嵌入式培训 GDB调试文档 厦门万册 嵌入式培训 GDB调试文档 厦门万册 嵌入式培训 GDB调试文档 厦门万册 嵌入式培训 GDB调试文档
嵌入式Linux GDB调试技术,实验报告
1. 概论 我们将学习使用gdb来调试通过一个通过串行线同PC相连的嵌入式系统. Gdb可以调试各种程序,包括C、C++、JAVA、PASCAL、FORAN和一些其它的语言。包括GNU所支持的所有微处理器的汇编语言。 在gdb的所有...
VisualGDB的最新补丁(至2017年4月)
本文档介绍的是嵌入式gdb调试环境建立。
远程调试环境由宿主机GDB和目标机调试stub共同构成,两者通过串口或TCP连接。使用GDB标准远程串行协议协同工作,实现对目标机...调试stub是嵌入式系统中的一段代码,作为宿主机GDB和目标机调试程序间的一个媒介而存在。
作者:蒙洋,华清远见嵌入式学院讲师。 一、下载gdb-*.tar.gz源代码 http://ftp.gnu.org/gnu/gdb/ 二、编译 GDB #tar zxvf gdb-*.tar.gz 2.1、编译GDB Server #cd gdb-* #./configure --...
Visual GDB的嵌入式ARM GCC工具链。主要用于在Visual Studio上开发调试STM32等嵌入式单片机的固件。使得单片机固件的开发可以使用Visual Studio强大的代码编辑功能。
给出在VIM编辑器中实现对嵌入式软件调试功能的集成方法。首先,将VIM源码打上vimgdb补丁,使重新编译出来的VIM编辑器支持在其内部对调试器gdb的调用。然后,建立与安装适合调试嵌入式软件的gdb组件,并对vimgdb脚本...
基于嵌入式操作系统的GDB远程调试,刘璐,马跃,调试在软件开发的过程中必不可少。由于嵌入式系统自身资源的限制,系统不能运行一个本地调试器,针对这个问题,本文介绍了基于嵌
Linux_嵌入式_arm32_gdb工具
arm-none-linux-gnueabi 4.5.2
嵌入式軟體開發工具 嵌入式軟體 開發工具 GDB/UBOOT/ECOS
基于gdb的嵌入式系统调试器的设计与实现,对gdb的移植非常有用。。。。
在嵌入式linux开发过程中,出现BUG是在所难免的,这时就需要用到调试技术了,最常用、最简单的调试方法当属printf打印了。
用的创龙的开发版7020的平台,调试的3个子进程,自己总结的,反正能调试通,亲测可用使用,贡献出来