quick start gdb

【gdb】显示gdb版本信息

显示gdb版本信息 使用gdb时,如果想查看gdb版本信息,可以使用“show version”命令: (gdb) show version GNU gdb (GDB) 7.7.1 Copyright (C) 2014 Free Software Foundation, Inc. License G ......
gdb 版本 信息

【gdb】只允许一个线程运行

只允许一个线程运行 1. 例子: #include <stdio.h> #include <pthread.h> #include <unistd.h> int a = 0; int b = 0; void *thread1_func(void *p_arg) { while (1) { a++; ......
线程 gdb

【gdb】调试子进程

调试子进程 1. 例子 #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { pid_t pid; pid = fork(); if (pid < 0) { exit(1); } else if ......
进程 gdb

【gdb】调试已经运行的进程

调试已经运行的进程 1.例子: #include <stdio.h> #include <pthread.h> void *thread_func(void *p_arg) { while (1) { printf("%s\n", (char *)p_arg); sleep(10); } } int ......
进程 gdb

【gdb】打印内存的值

打印内存的值 1. 例子 #include <stdio.h> int main(void) { int i = 0; char a[100]; for (i = 0; i < sizeof(a); i++) { a[i] = i; } return 0; } gdb中使用“x”命令来打印内存的值, ......
内存 gdb

【gdb】让catchpoint只触发一次

让catchpoint只触发一次 1. 例子: #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h> int main(void) { pid_t pid; int i = 0; for ( ......
catchpoint gdb

【gdb】进入和退出图形化调试界面

进入和退出图形化调试界面 1. 例子 #include <stdio.h> void fun1(void) { int i = 0; i++; i = i * 2; printf("%d\n", i); } void fun2(void) { int j = 0; fun1(); j++; j = ......
图形 界面 gdb

【gdb】打印数组的索引下标

打印数组的索引下标 1. 例子 #include <stdio.h> int num[10] = { 1 << 0, 1 << 1, 1 << 2, 1 << 3, 1 << 4, 1 << 5, 1 << 6, 1 << 7, 1 << 8, 1 << 9 }; int main (void) { ......
下标 数组 索引 gdb

【gdb】打印ASCII和宽字符字符串

打印ASCII和宽字符字符串 1. 例子: #include <stdio.h> #include <wchar.h> int main(void) { char str1[] = "abcd"; wchar_t str2[] = L"abcd"; return 0; } 用gdb调试程序时,可以使 ......
字符 字符串 ASCII gdb

【gdb】设置观察点

设置观察点 1. 例子: #include <stdio.h> #include <pthread.h> typedef struct { int a; int b; int c; int d; pthread_mutex_t mutex; } ex_st; int main(void) { ex_ ......
观察点 gdb

【gdb】run和start区别

run和start区别 gdb调试器提供了多种方式来启动目标程序,其中最常用的就是 run 指令,其次为 start 指令。也就是说,run 和 start 指令都可以用来在gdb调试器中启动程序,它们之间的区别是: 1、默认情况下,run 指令会一直执行程序,直到执行结束。如果程序中手动设置有断点 ......
start gdb run

【gdb】断点管理

断点管理 命令说明: 命令 说明 breakb 断点命令 break 函数名 为函数设置断点 break 代码函数 为某一行设置断点 break 类名:函数名 在某个类的函数设置断点 break 文件名:函数名 在文件名指定某个函数设置断点 break 文件名:行数 在文件名执行的代码行设置断点 b ......
断点 gdb

【gdb】向上或向下切换函数堆栈帧

向上或向下切换函数堆栈帧 1. 例子: #include <stdio.h> int func1(int a) { return 2 * a; } int func2(int a) { int c = 0; c = 2 * func1(a); return c; } int func3(int a) ......
堆栈 函数 gdb

ubuntu18.04环境下编译支持debuginfod的gdb

ubuntu18.04环境下编译支持debuginfod的gdb 介绍 Ubuntu 22.10 版本才默认安装debuginfod,对于之前的发行版都需要手动配置。gdb从10.1版本才开始支持debuginfod,而Ubuntu旧的发行版里gdb都低于10.1版本。另外,debuginfod被包 ......
下编 debuginfod 环境 ubuntu 18.04

第三方IDE使用gdb调试Qt实现pretty print

直接使用gdb调试Qt应用时,Qt的一些数据类型没法友好的显示出来,而qtcreator可以很好的展示出来,qtcreator也是通过gdb来调试的,在展示数据时,其实是gdb通过python脚本来处理后显示的,这些python脚本位于/usr/share/qtcreator/debugger这个位 ......
第三方 pretty print IDE gdb

DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): conda.anaconda.org:443

001、问题 conda 安装samtools出现如下问题: (base) [root@pc1 home]# conda install samtools -c bioconda 002、解决方法 ......

Process.Start 卡死问题解决

首先声明是GPT的功劳 代码如下: var p = Process.Start(exe, arg); p.WaitForExit(); 现象:调度显示在第一句卡死,压根没走到第二句 GPT分析原因:对于进程启动后卡死的情况,一种可能的原因是标准输出缓冲区已满,导致进程被阻塞无法继续执行。为了解决这个 ......
Process 问题 Start

gdb 调试segmentation fault 步骤 转载博客

(1)执行命令:ulimit -a 查看系统是否可以产生core文件,如果core file size 是0 就需执行第二步 (2)执行命令:ulimit -c 2048, 2048是你指定的core文件大小,可以根据自己的需要修改 (3)gcc编译你的程序:gcc your_program.c - ......
segmentation 步骤 fault 博客 gdb

gdb测试

1.用gcc -g编译测试代码 2.在main函数中设置一个行断点 3.在main函数中增加一个空循环 空循环是这样吗?我不知道空循环的概念,但是变量k啥用没有,这是空循环吗?还是要写空语句? 4.设置约为循环一半的条件断点 完成 ......
gdb

11g-crsctl_start_crs-failed-workaround

SYMPTOMS crsctl start crs CRS-4124: Oracle High Availability Services start failed CAUSE: Install of Clusterware fails while running root.sh on OL7 - ......

监控汇聚/视频融合平台EasyCVR启动时打印starting server:listen tcp的解决方案

EasyCVR视频汇聚平台是一款基于云边端智能协同的视频云存储和安防监控系统。该系统具备以下功能:视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、H.265自动转码H.264、平台级联等。为了方便用户进行二次开发、调用和集成,TSINGSEE ......
starting 解决方案 EasyCVR 方案 server

xpath 处理自增的id manage11 使用表达式 //*[starts-with(@id, "manage") and number(substring-after(@id, "manage")) = 11]

//*[starts-with(@id, "manage") and number(substring-after(@id, "manage")) = 11] 1.使用starts-with()函数选择以"manage"开头的所有元素, 2.使用substring-after()函数获取ID中"ma ......

Cmake-添加对gdb的支持

其实很简单,在CMakeList.txt文件前面添加命令 set(CMAKE_BUILD_TYPE Release) set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb") set(CMAKE_CXX_FLAGS_RELEASE ......
Cmake gdb

QT在debug环境下的异常报错 This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

查看错误信息:试试Release 检查 控制台 (/SUBSYSTEM:CONSOLE) 输入错误信息,修改全部报错信息后再试试Debug模式可不可以运行。 方案一:高级系统设置-环境变量- QT_QPA_PLATFORM_PLUGIN_PATH C:\Qt\Qt5.12.12\5.12.12\ms ......

GDB常用方法

前言 GDB,the GNU Project Debugger,一种命令行调试工具。这里我将遇到的一些重要用法记录下来。 使用GDB前的准备 编译选项需要加上-g -O0,用于产生调试信息,并且禁止优化(可能编译结果与源代码信息不匹配)。 断点和观察点 断点,也就是break point,当程序运行 ......
常用 方法 GDB

Lua断点调试 - 类似gdb的调试体验

平时在做一个C++/Lua的项目,C++代码可以用gdb调试,但是Lua代码的调试却一直是个困扰人的难题。根据网上搜索的结果,无外乎都是用vscode插件调试,或者用socket之类的设施进行远程调试,个人都觉得太麻烦了,最好有个类似gdb那种直接在命令行中进行调试。 不过经过我在网上的搜索,终于还 ......
断点 Lua gdb

NO.5 gdb 调试备忘

一、启动程序 run:程序开始执行, 如果有断点, 停在第一个断点处 start:程序向下执行一行。(在第一条语句处停止) 设置运行参数:set args 可指定运行时参数。(如:set args 10 20 30 40 50 ) show args 命令可以查看设置好的运行参数。 二、显示源代码 ......
gdb NO

GDB调试入门(一)

GDB调试入门(一) 嵌入式er 终极理想稚晖君 6 人赞同了该文章 当代码量较多时,使用GDB调试代码可以相对便捷的定位错误点,提高Dbug效率。首先先熟悉下GDB调试的基本流程:1. 在编译代码是添加 gcc添加–g选项:gcc -g test.c -o test.out2. 然后在bash环境 ......
GDB

pycharm无法打开终端:open Local Terminal_Failed to start [powershell.exe]

今天在运行pycharm的时候出现了这个问题 open Local Terminal_Failed to start [powershell.exe] 直接上解决办法 1.进入设置 2.选择tools下的terminal 然后修改shell path 如果没有的话需要找到本机的powershell的 ......

华为S5700交换机console配置线连接Press ENTER to get started卡住不动

Console配置线连接华为S5700S交换机,每次都卡住 Press ENTER to get started 使用了网友及官方说的取消勾选等方式都不行 换了跟console线,立马就解决了,连接正常 报错用的是CH340驱动的线,后来换成PL2303芯片的线, 不确定跟驱动有没有关系,或者线本身 ......
交换机 console started S5700 Press