ICode9

精准搜索请尝试: 精确搜索
  • gdb 调试总结2022-06-14 18:31:27

    原文链接 使用GDB 要调试C/C++的程序,在编译时,使用编译器(cc/gcc/g++)的 -g 参数把调试信息加到可执行文件中。启动GDB的方法: gdb <program> : 用gdb调试可执行文件。 gdb <program> core : 用gdb调试coredump。 gdb <program> <PID> : 用gdb attach到一个进程 使用 gdb -hel

  • Linux应用调试-使用gdb和gdbserver2022-06-13 15:03:06

    1.gdb和gdbserver调试原理 通过linux虚拟机里的gdb,来向开发板里的gdbserver发送命令,比如设置断点,运行setp等,然后开发板上的gdbserver收到命令后,便会执行应用程序做相应的动作,来实现调试的功能 和之前学的裸板GDB调试 一样,只不过之前学的是在win下的,本次是在linux里的gdb

  • 使用 VSCode 远程 图形化 GDB 调试 嵌入式linux2022-06-13 11:32:11

      目录标题 引言 环境 步骤 vscode remote ssh 配置 Linux编译机配置 设备板端配置 vscode launch设置 调试   引言 之前说了,通过core dump找程序bug,但是有些时候排查问题的还是不够高效,命令行形式gdb还是太简陋了,在IDE debug代码打断点,查堆栈变量那些习以为常的东西,在

  • vscode远程调试c++2022-06-12 11:00:07

    0.背景 最近在学习linux webserver开发,需要在linux下调试自己的C/C++代码,但是linux下不像在windows下,直接Visio Studio或者其它集成开发环境那么方便,现在的linux下开发,比较麻烦。于是可以考虑使用VScode远程开发。但是网上的很多教程都不是很清晰,这里在尝试了很多教程后,踩了不少坑

  • 解决调试器无法正常显示Qt类型的问题(QString,QList等)2022-06-10 15:31:33

    解决调试器无法正常显示Qt类型的问题(QString,QList等) 本方法适用于gdb。如果你的IDE使用的是gdb(MinGW),那么也应该是支持的。 本方法适合Windows平台。 第一步:下载 qt5printers https://github.com/Lekensteyn/qt5printers 第二步:创建一个文件夹,可以在任意路径,命名随意。这里假设为

  • [开发环境]:multipass 在 Windows 平台的使用和默认 C 盘迁移2022-05-23 11:04:18

    下载 Multipass 官网:https://multipass.run/docs/privileged-mounts 下载地址:Github Release V1.9.0 Windows版本 加速 下载链接  安装过程 更改存储地址 借助于 Windows10 软连接实现 mklink /D "C:\ProgramData\Multipass\data\vault" "E:\multipass-move\data\vault" mklin

  • VS Code 调教日记2022-05-19 01:00:58

    VS Code 调教日记 关于.vscode的配置 c_cpp_properties.json c_cpp插件配置 { "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}\\**"

  • gdb 调试SIGTRAP2022-05-17 20:33:23

    gdb 调试任何程序都提示 “Program received signal SIGTRAP, Trace/breakpoint trap.”    (gdb) handle SIGTRAP nostop pass     SIGTRAP is used by the debugger.Are you sure you want to change it? (y or n) YSignal        Stop    

  • vs linux远程编译 pthread 坑2022-05-14 20:34:00

    连接远程服务器,填完密码以后要下载标头 安装gcc(一般centos自带),gdb(yum install gdb),g++(yum install gcc gcc-c++)进入centos后直接安装 pthread在调试的时候需要多写一句命令,所以远程vs需要在链接器库依赖选项多设置一下pthread  

  • linux内核与驱动调试-使用GDB+Qemu调试Linux 内核与驱动2022-05-10 02:01:24

    使用GDB+Qemu调试Linux 内核与驱动   时间:20220510,版本:V0.1 作者:robotech_erx   调试内核或者驱动除了双机调试外,还可以使用Qemu来调试。Qemu实现了GDB stub,支持对linux的内核调试。   环境: 主机:ubuntu 20.04 LTS 桌面版 Qemu:QEMU emulator version 4.2.1   1编译带调试信息的

  • gdb 常用命令2022-05-09 02:00:38

    安装插件 1. 安装GDB增强工具 (gef)  * wget -q -O- https://github.com/hugsy/gef/raw/master/scripts/gef.sh | sh2. GDB安装插件(在root权限安装,用户权限使用不了需要在用户权限下安装)  git clone https://github.com/gatieme/GdbPlugins.git ~/GdbPlugins  (安装gdb的

  • 通过qemu+gdb实现跨架构调试2022-05-08 16:00:28

    需求 有时候身边只有 x86 架构的硬件环境,却想学习和测试 arm、mips 等其他架构特性,此时怎么办呢?众所周知,VMware 只能模拟同架构不同操作系统,对此可以通过 qemu 实现跨架构模拟。 安装 qemu-user qemu 是一个支持跨平台虚拟化的虚拟机,有 user mode 和 system mode 两种配置方式。其

  • gcc 编译参数2022-05-06 14:35:35

    -I : 包含头文件路径(绝对路径、相对路径都可以) -O :优化选项,1-3,越高优先级越高 -L : 包含的库路径 -l :指定库名(如libxxx.so或libxxx/a,-lxxx) -o : 指定目标文件 -c :编译成.o文件 -g : 用于gdb调试,不加此选项不能gdb调试 -Wall : 显示更多的警告 -D :指定宏编译 -lstdc++ : 编译C++

  • ida+gdbserver 动态调试2022-05-04 03:00:58

    ida+gdbserver 动态调试 前言 不知道是因为太简单了还是怎么的网上的文章都很少,所以在此记录一下 ida 选择remote GDB debug Hostname 是使用gdb调试的环境ip地址 Port 是使用gdb调试的环境的开放的端口,这个需要和gdb监听的端口一致(因为这种调试本质是一种attach) gdb 语法格式

  • gdb的set follow-fork-mode child如何工作2022-04-27 20:00:30

    一、 clone函数的man手册说明 clone man手册的说明: /* Prototype for the glibc wrapper function */ #include <sched.h> int clone(int (*fn)(void *), void *child_stack, int flags, void *arg, ... /* pid_t *ptid, str

  • gdb调试命令2022-04-26 18:02:13

    本文主要参考自:http://www.cnblogs.com/zzx1045917067/archive/2012/12/26/2834310.html,进行了一点补充和编排;Core dump部分参考了:http://blog.ddup.us/?p=176。   gdb是一个在UNIX环境下的命令行调试工具。   如果需要使用gdb调试程序,请在gcc时加上-g选项。   下面的命令部

  • 搭建PWN学习环境2022-04-25 00:31:44

    环境清单 系统环境 Ubuntu22.04 编写脚本 pwntools ZIO 调试 IDA PRO gdb pwndbg ROP工具 checksec ROPgadget one_gadget LibcSearcher main_arana_offset IDA PRO(运行于windows) IDA主要用于反汇编,静态调试,也可以将部分程序以伪代码的形式给出 IDA Pro 有何用处? 一分钟

  • Ubuntu系统生成dump文件,然后用gdb来调试2022-04-24 20:01:28

    1.设置生成dump文件 用ulimit -c查看当前设置是否生成dump文件。如果为0(一般默认为0),则表示不生成dump文件。用ulimit -c unlimited命令修改成生成dump文件。修改完后再用ulimit -c查看一下,返回unlimited,表示生成dump文件。 2.设置dump文件的保存位置 用/proc/sys/kernel/core_pa

  • 服务内存异常上涨问题分析2022-04-20 21:01:03

        最近重构了一个服务,经过测试,发现一个奇怪的BUG,服务在机器A上消耗内存87G,在机器B上消耗内存66G,两者内存相差比较大,但是老服务则没有该问题。我对该问题异常疑惑,同样的服务不可能会内存差异这么巨大,该服务调用了其他同事开发的动态库,但是老服务没有这种问题,说明与同事开发的动

  • vscode配置c/c++环境2022-04-19 02:32:16

    c/c++插件下载 搜索`C/C++ Extension Pack`下载这个扩展包集合 下载MinGW 下载地址:mingw-w64 1.双击安装exe二进制程序 2.在All Packages里面找到并勾选`mingw32-gcc.bin`,`mingw32-gcc-g++.bin`,`mingw32-gdb.bin`。第一个是c语言文件的编译器,第二个是c++的,第三个是用来调试编译

  • linux下使用配置vscode并使用cmake2022-04-18 15:32:07

    文件目录搭建 在工作区创建三个文件夹:build、include、src,include用来存放头文件,src用来存放源文件,build是cmake和make的工作区,这样生成的文件都在build文件夹内,不至于外部结构看着乱糟糟的。 以下是文件目录的结构 workspace .vscode build include src CMakeLists.t

  • gstack查看线程信息2022-04-18 12:02:22

      1.查看线程信息 [upchina@iZbp14z6qodocy209yj5c8Z PriceAlarmServerGnn]$ ps -ef | grep "PriceAlarm" upchina 21261 19389 5 Apr15 ? 03:56:48 /usr/local/app/taf/tafnode/data/HQExtend.PriceAlarmServerGnn/bin/PriceAlarmServerGnn --config=/usr/l

  • gdb调试多进程2022-04-18 11:35:17

    1. set follow-fork-mode [parent|child] gdb 默认设置是 parent,可用使用show follow-fork-mode 来查询当前fork模式。 如果想要调试子进程,进入gdb后设置 set follow-fork-mode child 然后再设置子进程里的断点,就可以调试停到子进程。 使用follow-fork-mode,只能调试一个进程,不能同

  • PostgreSQL/lightdb逻辑复制详解2022-04-10 18:34:03

      之所以有逻辑复制,是因为物理复制是基于数据块的复制,每个实例的数据块是自己维护的,无法做到全局,所以只能借助逻辑块复制,即使是内核集成的HTAP,在行存和列存之间同步时,也采用的是逻辑块复制。逻辑复制可用于很多场景,例如部分数据同步、DW集成、同步到大数据、ES、做流式计算、缓

  • VSCode + MinGW2022-04-05 16:05:08

    1. 下载 VSCode下载 https://code.visualstudio.com/ 插件:CMake、C/C++、Chinese(Simplified) MinGW下载 https://zhuanlan.zhihu.com/p/76613134 https://sourceforge.net/projects/mingw-w64/ 百度网盘: http://pan.baidu.com/s/1crx1s CMake下载 https://cmake.org/downlo

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有