Loading

gdb指令与cmake

配置CMakeLists.txt文件

# add
SET(CMAKE_BUILD_TYPE "Debug") 
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")

gdb指令集合

gdb [可执行文件]:选中可执行程序,进入gdb的debug模式;
	(gdb) b(breakpoint):b 函数名 :对此函数进行中断 ;b 文件名:行号;
	(gdb) r (run):启动程序,运行至程序的断点或者结束;
	(gdb) l (list):l funcname,查看函数源码。或 l linenum,显示指定行周围的源码。或 l -,显示当前行前面的源码。或l,显示当前行后面的源码;
	(gdb) s(step):进入函数,逐语句运行;
	(gdb) n(next):不进入函数,逐过程运行;
	(gdb) c(continue):继续运行,跳至下一个断点;
	(gdb) p(print):打印显示变量值;
	(gdb) set variable=value,为变量赋值;
	(gdb) kill:终止调试的程序;
	(gdb) h(help):列出gdb详细命令帮助列表;
	(gdb) clear filename.c:30:清除30行处的断点;
	(gdb) info break:显示断点信息;
	(gdb) delete 断点编号:断点编号是info break 后显示出来的;
	(gdb) bt(backtrace):回溯到段出错的位置;
	(gdb) frame 帧号:帧号是bt命令产生的堆栈针;
	(gdb) q(quit):退出;

小问题汇总

  1. 在windows下运行cmake 没有生成Makefile文件
    解决方法:
指定解决方案是Unix 平台的Makefiles
cmake .. -G "Unix Makefiles" (第一次运行cmake时)
后面就直接cmake ..
  1. 找不到cmake,找不到make
    原因要么是环境变量没加,要么就是没装。装完记得重启
posted @ 2022-04-20 15:18  Guang'Jun  阅读(191)  评论(0编辑  收藏  举报