开发之调试-debug

流程

需求或创意--开发--调试--测试--部署-上线

debug

c++    有 gdb
java   有 jdb
python 有 pdb
调试器会附加到应用进程 打断点 

python 调试

print assert pdb

## assert的异常参数,其实就是在断言表达式后添加字符串信息,
   用来解释断言并更好的知道是哪里出了问题。格式如下:
   assert expression [, arguments]
   assert 表达式 [, 参数]
	
import pdb	
 调试-debug
  import pdb
  pdb.set_trace()	 
    n:执行下一行代码。
    - c:继续执行代码,直到下一个断点。
    p:打印变量值。
    - q:退出调试器

Debug 工具

Debug Python File in Terminal
    Variables   侧边栏查看变量的当前状态、监视表达式的值,甚至在控制台中运行代码片段以检查程序状态。
	Watch
	call stack
	breakpoints
	debug console     旁边Terminal
debug -步过 (Step Over)、步入 (Step Into)、步出 (Step Out)、重新开始和停止调试会话
   continue  
   step into  单步执行 (F11)	运行下一行代码,并进入被调用的函数。
   step over  单步执行 (F10)	运行下一行代码,但不进入被调用的函数。
   step out   单步跳出 (Shift+F11)	运行当前函数的其余部分,并在调用代码中暂停。
   stop
   restart 

c++

Linux 
   gcc g++ gdb 
Linux Cmake 
  注意设置程序为debug模式,这样才能够进行代码调试

 在 Linux 下开发,可以用 gdb 进行调试,
    在linux环境下通过设置编译选项 CXXFLAGS 或者 CFLAGS 使程序可以支持GDB调试,
	      CFLAGS 表示用于 C 编译器的选项, 
          CXXFLAGS 表示用于 C++ 编译器的选项 
	在CMake构建的工程中也可以方便的实现
     coredump 进程奔溃时,系统会把奔溃前的信息转储在一个叫做 core 的文件。
 但是如果工程是用 CMake 构建的,那么需要在 CMakeLists.txt 中加入如下代码: CMake 配置
    SET(CMAKE_BUILD_TYPE "Debug")  
    SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")  
    SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")  

参考

了解如何使用 Visual Studio 调试 C++ 代码
https://learn.microsoft.com/zh-cn/visualstudio/debugger/getting-started-with-the-debugger-cpp?view=vs-2022
https://learn.microsoft.com/zh-cn/visualstudio/python/tutorial-working-with-python-in-visual-studio-step-04-debugging?view=vs-2022
posted @ 2024-02-27 16:06  辰令  阅读(77)  评论(0)    收藏  举报