- 浏览: 287772 次
文章分类
- 全部博客 (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 644[url] https://gcc.gnu.org/ml/gc ... -
python 修饰器
2016-02-05 15:11 411def wrapper1(function): ... -
ubuntu 14.04 install e431 wifi driver
2016-01-25 20:59 447引用 sudo apt-get install linu ... -
git
2016-01-07 12:01 443http://finalshares.cn/attachmen ... -
linux change boot image
2016-01-02 00:55 5361. change grub2 引用vim /etc/defa ... -
binwalk --dd
2015-12-28 21:51 1394http://www.devttys0.com/2012/12 ... -
embeded LD_PRELOAD
2015-12-28 00:17 553引用 eve@eve:~/squashfs-root$ sud ... -
hardware hacking
2015-12-27 01:32 690For video stuff: https://www.yo ... -
ubuntu support kindle
2015-12-20 23:13 359引用apt-get install mtpfs -
linux 备份系统
2015-12-05 22:22 416引用备份 dd if=/dev/sda > myimag ... -
[译]root权限运行vlc
2015-11-30 22:19 1361原文地址:http://www.blackmoreops.co ... -
【转】关闭TCP Timestamps来节省一点带宽
2015-10-15 23:29 1625http://highscalability.com/blog ... -
[转]Terminal escape sequences – the new XSS for Linux sysadmins
2015-09-25 23:58 430https://ma.ttias.be/terminal-es ... -
ipython basic
2015-09-25 11:31 453Introspection引用 Using a questio ... -
static in C
2015-09-22 11:35 311jason@ubuntu:~/test$ cat a.c ... -
lxc重命名容器名
2015-09-20 00:25 804lxc-ls 使用文件夹名作为容器名。所以可以更改文件夹名称来 ... -
lxc更新apt源
2015-09-18 11:49 747最近一直在使用lxc创建容器,每次创建一个容器都需要把apt源 ... -
wireshark:Couldn't run /usr/bin/dumpcap in child process: Permission denied
2015-09-11 10:26 3342When start wireshark, I met an ... -
[转]调试python内存泄漏
2015-09-09 00:48 356http://chase-seibert.github.io/ ... -
[转]Python @classmethod and @staticmethod for beginner?
2015-09-07 16:59 365http://stackoverflow.com/questi ...
相关推荐
在嵌入式Linux系统开发中,调试是必不可少的环节,而GDB(GNU Debugger)和GDBserver则是其中的关键工具。GDB是一个强大的源代码级调试器,支持多种编程语言,如C、C++、Fortran等。GDBserver则是一个轻量级的远程...
使用gdb调试嵌入式应用程序 gdb(GNU Debugger)是一款功能强大的源代码调试工具,广泛应用于各种操作系统平台,包括嵌入式系统。使用gdb调试嵌入式应用程序可以帮助开发者快速定位和解决软件 bug,提高开发效率和...
嵌入式Linux GDB调试技术是指在嵌入式系统中使用GDB调试程序的一种技术。GDB(GNU Debugger)是一种功能强大且灵活的调试器,可以在各种平台上使用。嵌入式Linux GDB调试技术的主要目的是掌握Linux GDB调试方法和...
### 嵌入式GDB调试Core文件详解 在嵌入式系统开发过程中,经常会遇到程序出现异常的情况。为了能够定位这些异常发生的原因并进行修复,开发者通常会借助于调试工具来帮助分析问题所在。其中,GDB(GNU调试器)作为...
这篇文档将深入介绍如何在嵌入式Linux平台上使用GDB进行调试。 首先,确保你已经安装了GDB。如果没有,可以通过包管理器(如`apt-get`或`yum`)进行安装。GDB通常与交叉编译工具链一起提供,因此,对于嵌入式系统,...
标题中的"嵌入式交叉编译 移植gdb.tar.gz"指的是一项任务,即在宿主机(通常是x86架构的个人电脑)上使用特定的交叉编译工具链,如`arm-none-linux-gnueabi 4.5.2`,来编译GDB软件,以便在ARM架构的目标设备上运行。...
《嵌入式GDB调试环境建立详解》 嵌入式开发中,调试是必不可少的一环,而GDB作为一款强大的源代码级调试器,对于理解程序的运行逻辑、定位问题至关重要。本文将详细介绍如何在Linux环境下,为嵌入式设备建立GDB调试...
"GDB完全手册.pdf.zip"包含了对GDB全面的介绍和指南,是学习和使用GDB的重要参考资料。 GDB中文手册特别适合中文用户,提供了详细的操作步骤和实例解析,帮助开发者理解GDB的各个功能。手册通常会包含以下内容: 1...
### 厦门万册嵌入式培训GDB调试文档知识点总结 #### 一、GDB概述 **GDB**(GNU Debugger)是一款强大的开源调试工具,主要用于在UNIX及其类系统(如Linux)环境中进行程序调试。与常见的图形界面调试器(如Visual ...
嵌入式系统的调试方法包括使用 GDB、使用 printf 语句、使用逻辑分析仪等。 2. STM32 微控制器的特点是什么?STM32 微控制器的特点包括高性能、低功耗、丰富的外设接口等。 3. ARM 架构的特点是什么?ARM 架构的特点...
1. 首先搭建嵌入式gdb环境,网络上有很多介绍,这里不再描述,主要介绍嵌入式gdb使用方法。 2. 目标板和服务器(你的pc机ubuntu)需在同一局域网内,可以通过wifi相连,或者网口相连。 3. 目标板有gdbserver,在...
在本文中,我们将深入探讨如何构建一个嵌入式的GDB调试环境,特别是在ZYNQ 7020平台上。ZYNQ 7020是一款由Xilinx公司设计的System-on-Chip (SoC),集成了ARM Cortex-A9处理器,广泛应用于嵌入式系统和实时操作系统。...
1. 概论 我们将学习使用gdb来调试通过一个通过串行线同PC相连的嵌入式系统. Gdb可以调试各种程序,包括C、C++、JAVA、PASCAL、FORAN和一些其它的语言。包括GNU所支持的所有微处理器的汇编语言。 在gdb的所有...
VisualGDB的最新补丁(至2017年4月)
在GDB中,你可以使用 `break` 或 `b` 命令,后跟行号或函数名来设置断点。 3. **运行与单步执行**:使用 `run` 或 `r` 命令开始执行程序,遇到断点时会自动暂停。要逐行执行代码,可以使用 `step` 或 `s` (进入...
本文将详细阐述如何使用GDB(GNU Debugger)和gdbserver在嵌入式目标板上进行远程调试。GDB是一个强大的源码级调试工具,而gdbserver是GDB的一个轻量级版本,专门用于远程调试。 远程调试环境通常由两部分组成:宿...
用户可以通过在命令行中输入「gdb」命令来启动 GDB,或者通过在 IDE 中配置 GDB 来启动调试会话。 知识点 3: GDB 的调试技术 GDB 提供了多种调试技术,包括断点、单步执行、变量检查、表达式计算等。用户可以通过...
此外,远程调试也是GDB的一大亮点,手册将指导用户如何在远程服务器上进行程序调试,这对于分布式系统和嵌入式开发非常实用。 错误处理和调试信息解析也是GDB的重要功能,手册会详细介绍如何利用GDB分析和理解核心...