Clion调试

ubuntu里面为例

./clion.sh 启动clion

 

{

"tasks": [

{

"type": "cppbuild",

"label": "C/C++: g++ 生成活动文件",

"command": "make",

"args": [],

"options": {

"cwd": "${fileDirname}"

},

"problemMatcher": [

"$gcc"

],

"group": {

"kind": "build",

"isDefault": true

},

"detail": "调试器生成的任务。"

}

],

"version": "2.0.0"

}

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Lauch", // 启动配置的下拉菜单中显示的名称
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/src/s3fs", // 将要进行调试的程序的路径, workspaceFolder指当前工作目录(即vscode打开的目录:hello),main指的是makefile编译后目标码(可执行程序)的名字
            "args": [
                "goofys", "/mnt/s3", "-o", "passwd_file=/home/bob/.passwd-s3fs", "-s","-o","url=http://127.0.0.1:9000", "-o", "use_path_request_style" ,"-f", "-o", "curldbg", "-o", "dbglevel=debug", "-o", "umask=0", "-o"," mp_umask=0"
            ], // 程序启动的参数
            "stopAtEntry": false, // 设置true时,程序将暂停在程序入口处, 即main()的第一个{位置
            "cwd": "${workspaceFolder}", // 调试时的工作目录
            "environment": [],
            "externalConsole": false, // 调试时,是否显示控制台串口
            "MIMode": "gdb", // 调试命令
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "build_debug", // 使用哪个任务进行编译,需要指定tasks.json中的一个,这里选择用build_debug任务进行编译
            "miDebuggerPath": "/usr/bin/gdb" // 调试命令的路径
        }
    ]
}

### CLion 调试代码使用指南 #### 设置断点 为了有效地调试程序,在源码编辑器中的特定位置设置断点是必要的操作之一。通过点击行号旁边的空白区域可以轻松创建断点,这使得当执行流到达该处时应用程序会暂停运行以便进一步分析[^2]。 #### 启动调试会话 一旦设置了所需的全部断点之后,可以通过多种方式启动调试过程。对于简单的项目而言,只需按下工具栏上的绿色虫子图标即可;而对于更复杂的构建配置,则可能需要先指定具体的运行/调试配置再开始调试工作流程。 #### 查看变量值与表达式求值 在调试模式下停靠于某个断点时,CLion 提供了一个叫做“Variables”的窗口来展示当前作用域内的所有局部变量及其对应的实时取值情况。此外还支持即时计算任意合法 C/C++ 表达式的功能——即所谓的“Evaluate Expression”,这对于理解复杂逻辑非常有帮助。 #### 步进控制命令 利用步进按钮能够精确掌控程序的单步步调: - **Step Over (F8)**:继续执行直到遇到下一个语句; - **Step Into (F7)**:如果当前行中有函数调用则进入其内部; - **Force Step Into (Alt + F7)**:强制进入到任何被内联展开后的库函数体内; - **Step Out (Shift + F8)**:直接跳出当前正在处理的方法并返回到调用者那里去。 #### 断点管理特性 除了基本的功能外,CLion 还允许用户为每一个单独设立起来的断点附加额外条件从而实现更加精细入微的行为定制化需求。比如仅当满足某些预设前提条件下才会触发中断动作,或者是每当触及此标记之时自动打印一条消息至日志文件之中等等。 ```cpp // 示例代码片段用于说明如何在实际编程环境中应用上述提到的各项技巧 void exampleFunction() { int a = 0; while(a < 5){ std::cout << "Value of 'a': " << a << "\n"; // 假定此处存在一个潜在错误... ++a; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值