gdb

Windows下搭建GCC + Eclipse + OpenOCD的ARM开发环境

☆樱花仙子☆ 提交于 2020-11-10 12:58:27
最近更新Win 10,重搭了GCC + Eclipse + OpenOCD的开发环境,写此文把过程记录下来,以便以后查阅。 硬件平台 STM32F405开发板 + ST LINK step 1 GCC ARM toolchain少不了, 传送门 。 Build tools忘不了, 传送门 。 OpenOCD跑不了, 传送门 。 以上,都需要设置环境变量里的PATH。 step 2 测试用的工程文件, 传送门 。 将OpenOCD安装目录下的stm32f4discovery.cfg复制到下载的工程文件所在的文件夹中。 在工程文件所在的文件夹中打开命令窗口,键入openocd -f stm32f4discovery.cfg而后回车,此时命令窗口应如下图所示: step 3 在Eclipse中创建工程,依次点击File -> New -> Makefile Project with Existing Code将文件导入,Toolchain for Indexer Settings中选择Cross GCC,最后点击Finish。 以上,如果我没忘了什么的话,依次点击Project -> Built All即可编译,留意Console窗口输出的信息,如下图所示: step 4 在Eclipse中依次点击Help -> Install New Software,安装CDT插件。 依次点击Run

OpenOCD的概念,安装和使用

℡╲_俬逩灬. 提交于 2020-11-09 17:29:28
   概念:   OpenOCD是一个运行于PC上的开源调试软件,它可以控制包括Wiggler之内的很多JTAG硬件;我们可以将它理解为一种GDB服务程序。OpenOCD的源码只能通过SVN下载,地址是: svn://svn.berlios.de/openocd/trunk 。最初是由Dominic Rath同学还在大学期间发起的(2005年)项目。OpenOCD旨在提供针对嵌入式设备的调试、系统编程和边界扫描功能。OpenOCD的功能是在仿真器的辅助下完成的,仿真器是能够提供调试目标的电信号的小型硬件单元。仿真器是必须的,因为调试主机(运行OpenOCD的主机)通常不具备这种电信号的直接解析功能。    安装:   我这里只提供macos和linux的安装,其实,这两个都是类unix系统,基本方法基本一样的。   linux上的源码安装:   A 源码下载: https://sourceforge.net/projects/openocd/files/openocd/   B 根目录下执行:./configure --prefix=/usr/local --enable-jlink C 然后执行:make && make install   macos上的命令安装:   brew install openocd    使用:   我这里以stm32的开发版为例:https:/

OpenOCD用户指南

巧了我就是萌 提交于 2020-11-09 17:28:58
OpenOCD用户指南 简短目录 关于 1 OpenOCD开发人员资源 2调试适配器硬件 3关于Jim-Tcl 4跑步 5 OpenOCD项目设置 6配置文件准则 7服务器配置 8调试适配器配置 9重置配置 10 TAP声明 11 CPU配置 12个Flash命令 13 Flash编程 14个PLD / FPGA命令 15个通用命令 16体系结构和核心命令 17个JTAG命令 18个边界扫描命令 19个实用程序命令 20 TFTP 21 GDB和OpenOCD 22 Tcl脚本API 关于23的常见问题 24 Tcl速成班 附录A GNU自由文档许可证。 OpenOCD概念索引 命令和驱动程序索引 目录 关于 什么是OpenOCD? OpenOCD网站 最新用户指南: OpenOCD用户论坛 OpenOCD用户的邮件列表 OpenOCD IRC 1 OpenOCD开发人员资源 1.1 OpenOCD Git存储库 1.2 Doxygen开发人员手册 1.3 Gerrit审核系统 1.4 OpenOCD开发人员邮件列表 1.5 OpenOCD错误跟踪器 2调试适配器硬件 2.1选择加密狗 2.2独立的JTAG探针 2.3基于USB FT2232 2.4 USB-JTAG / Altera USB-Blaster兼容 2.5基于USB J-Link 2.6基于USB RLINK 2

OpenOCD-JTAG调试

℡╲_俬逩灬. 提交于 2020-11-09 17:17:11
目录 Todo 概述 断点 快速使用 测试led的断点 NAND调试(进阶) OpenOCD 启动OpenOCD OpenOCD命令 OpenOCD烧录程序 GDB GDB命令 使用条件 使用步骤 Eclipes 使用条件 简单工程 注意 u-boot工程 STM32烧写程序 title: OpenOCD-JTAG调试 tags: ARM date: 2018-10-13 23:36:28 --- Todo [ ] JTAG 调试linux内核 [ ] linux下使用OpenOCD调试 [x] win下使用OpenOCD调试 概述 学习文档 韦东山 Eclipse,OpenOCD,OpenJTAGv3.1嵌入式开发教程版本5.pdf 硬件连接: PC>JTAG调试器>CPU 软件控制:IDE(KEIL/ADS/)> GDB(指令)> OpenOCD(实际命令)> JTAG调试器> 单板 JTAG控制CPU功能: 当CPU的地址信号ADDR=xxx,停止CPU-硬件断点 当CPU的数据信号DATA=xxx,停止CPU--软件断点 重新运行CPU 读取R0,..寄存器 控制外设,内存 百问网的 OpenJTAG.exe 这个GUI实际是封装了 openocd.exe 命令行 设置Workdir到程序代码目录 点击 telnet ,或者直接cmd输入 telnet 127.0.0.1

堆重启_uaf_hacknote

ぃ、小莉子 提交于 2020-11-09 15:26:12
参考链接 http://blog.eonew.cn/archives/490 https://blog.csdn.net/weixin_44864859/article/details/107181869 这里记录下经典的含有后门的UAF漏洞程序。 //hacknote 最简单的堆题目 libc 2.23 以及 含后门的UAF漏洞程序 //hacknote先看第一个含有后门的UAF漏洞程序: 查看文件相关属性及开启保护 32位elf程序,没有去符号。// 给源代码会更香。 只开启了NX保护。 $ file hacknote_backdoor hacknote_backdoor: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=44ee75c492628b3691cdcdb07759e9bbe551644a, not stripped $ checksec hacknote_backdoor [*] Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX

openocd+stlink

拥有回忆 提交于 2020-11-09 14:19:41
joe @joe-PC /cygdrive/g/dapjtag/openocd-20200729/OpenOCD-20200729-0.10.0/share/openocd/scripts $ openocd -f ./board/st_nucleo_f103rb.cfg Open On-Chip Debugger 0.10.0 (2020-07-29) [https://github.com/sysprogs/openocd] Licensed under GNU GPL v2 libusb1 09e75e98b4d9ea7909e8837b7a3f00dda4589dc3 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD srst_only separate srst_nogate srst_open_drain connect_deassert_srst Info : Listening on port 6666 for tcl connections Info :

C++基础之C++编译调试

我们两清 提交于 2020-11-08 04:50:55
C++程序的实现(预处理,编译,连接) Linux平台编译 gcc和g++都是GNU的编译器。 1、对于.c后缀的文件,gcc把它当做是C程序;g++当做是C++程序; 2、对于.cpp后缀的文件,gcc和g++都会当做c++程序。 3、使用g++编译文件时,g++会自动链接标准库STL,而gcc不会自动链接STL。 test.cpp gcc/g++ 在执行编译时,需要4步 1 预处理,生成.i的文件[使用-E参数] 2 将预处理后的文件不转换成汇编语言,生成文件.s[使用-S参数] 3 有汇编变为目标代码(机器代码)生成.o的文件[使用-c参数] 4 连接目标代码,生成可执行程序[使用-o参数] 注意:如果用gcc编译C++源文件时,加选项:-lstdc++,否则使用了C++操作的文件编译会出错 g++常用的编译选项 Gdb core文件设置 ulimit -c unlimited gdb test core 来源: oschina 链接: https://my.oschina.net/u/4355947/blog/4707523