vscode调试C++ python相关配置

settings.json

json 复制代码
{
    "cmake.sourceDirectory": "/workspace/KuiperLLama",
    "cmake.buildDirectory": "/workspace/KuiperLLama/vscode_build",
    "cmake.configureSettings": {
        "USE_CPM": "ON",
        "QWEN2_SUPPORT": "ON"
    },
    "testMate.cpp.test.executables":"/workspace/KuiperLLama/vscode_build/*/*",
    "testMate.cpp.test.workingDirectory": "${absDirpath}",
    "python-envs.defaultEnvManager": "ms-python.python:conda",
    "python-envs.defaultPackageManager": "ms-python.python:conda"
}

launch.json

json 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "debug llama",
            "type": "cppdbg",
            // "type": "cuda-gdb",
            "request": "launch",
            "program": "/workspace/KuiperLLama/vscode_build/demo/llama_infer",
            // "program": "/workspace/KuiperLLama/build/demo/qwen_infer",
            "args": [
                // "/workspace/KuiperLLama/models/stories110M.bin",
                "/workspace/KuiperLLama/models/chat_myself_version0.bin",
                "/workspace/KuiperLLama/models/TinyLlama-1.1B-Chat-v1.0/tokenizer.model"
             ], // 可执行文件的命令行参数,如需要可添加
            //  "args": [
            //     // "/workspace/KuiperLLama/models/stories110M.bin",
            //     "/workspace/KuiperLLama/models/qwen25/Qwen2.5-0.5B_export0.bin",
            //     "/workspace/KuiperLLama/models/qwen25/Qwen2.5-0.5B/tokenizer.json"
            //  ], // 可执行文件的命令行参数,如需要可添加
            "stopAtEntry": false, // 是否在main函数入口暂停
            "cwd": "/workspace/KuiperLLama", // 工作目录,根据需要调整
            "environment": [], // 环境变量,例如 [{"name": "LD_LIBRARY_PATH", "value": "/usr/local/lib"}]
            "externalConsole": false, // 设为 true 可打开外部终端(已废弃,推荐用 integratedTerminal)
            "console": "integratedTerminal", // 推荐:在 VS Code 内部终端中运行
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 SIGINT 等信号启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设为 Intel",
                    "text": "set disassembly-flavor intel",
                    "ignoreFailures": true
                },
                {
                    "text": "-enable-pretty-printing\nskip -gfi /usr/include/c++/*/*/*\nskip -gfi /usr/include/c++/*/*\nskip -gfi /usr/include/c++/*\nskip -gfi /usr/local/include/gtest/*\nskip -gfi /workspace/KuiperLLama/vscode_build/_deps/*\nskip -gfi /workspace/KuiperLLama/vscode_build/_deps/*/*\nskip -gfi /workspace/KuiperLLama/vscode_build/_deps/*/*/*",
                    "ignoreFailures": true
                },
                {
                    "text": "-enable-pretty-printing\nskip -gfi /workspace/KuiperLLama/vscode_build/_deps/**",
                    "ignoreFailures": true
                }
            ],
            "miDebuggerPath": "/usr/bin/gdb"
            // "miDebuggerPath": "/usr/local/cuda/bin/cuda-gdb"
        },
        
        {
        "name": "Debug aaa",
        "type": "cppdbg",
        "request": "launch",

        "program": "/workspace/a_study/cpp/vscode_build/aaabbb",
        "args": [],
        "stopAtEntry": false,
        "cwd": "/workspace/a_study/cpp",
        "environment": [],
        "externalConsole": false,
        "MIMode": "gdb",
        "miDebuggerPath": "/usr/bin/gdb",

        "setupCommands": [
            {
            "description": "Enable pretty-printing",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
            }
        ]
        },

        {
        "name": "Debug CUDA (Nsight)",
        "type": "cuda-gdb",
        "request": "launch",
        "program": "/workspace/cuda_code/course2/reduce_smem",
        "miDebuggerPath": "/usr/local/cuda/bin/cuda-gdb",
        "env": {
            "CUDA_LAUNCH_BLOCKING": "1"
        },
        "setupCommands": [
            {
            "description": "Break on kernel launch",
            "text": "set cuda break_on_launch application",
            "ignoreFailures": true
            },
            {
            "description": "Disable source timestamp check",
            "text": "set check-source-file off",
            "ignoreFailures": true
            },
            {
            "description": "Enable pretty printing",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
            }
        ],
        },

        {
            "name": "Python: Debug Current File (Custom Interpreter)",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}",
            "env": {},
            "args": [],
            "justMyCode": false,
            "python": "/usr/local/miniconda3/envs/py312/bin/python"
        },
        {
            "name": "(gdb) Launch Python",
            "type": "cppdbg",
            "request": "launch",
            "program": "/usr/local/miniconda3/envs/py312/bin/python", // Python 解释器路径
            "args": [
                "/workspace/cuda_code/course10/ex_demo/demo.py"
            ], // Python 脚本参数
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}", // 工作目录
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Set Disassembly Flavor to Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "miDebuggerPath": "/usr/bin/gdb" // GDB 路径(可选)
        }
    ]
}
相关推荐
程序员榴莲12 小时前
Python 中的 @property:像访问属性一样调用方法
开发语言·前端·python
坐吃山猪12 小时前
【Nanobot】README04_LEVEL2 提供商系统设计
python·源码·agent·nanobot
坐吃山猪12 小时前
【Nanobot】README09_LEVEL4 添加新聊天渠道
开发语言·网络·python·源码·nanobot
Mr.朱鹏12 小时前
9-检索增强生成RAG详解
python·gpt·langchain·大模型·llm·rag
shehuiyuelaiyuehao12 小时前
算法27,二维前缀和
开发语言·python·算法
码界筑梦坊13 小时前
125-基于Flask的客户购物偏好数据可视化分析系统
python·信息可视化·flask·毕业设计
lingzhilab13 小时前
零知派ESP32——BLE Mesh蓝牙组网智能灯控系统(PIR感应+W2812三档调色)
c++·mfc
测试秃头怪13 小时前
接口测试与常用接口测试工具详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
坐吃山猪13 小时前
【Nanobot】README03_LEVEL2_工具系统架构
python·源码·agent·nanobot
计算机安禾13 小时前
【c++面向对象编程】第29篇:定位new(placement new):在指定内存上构造对象
开发语言·c++·算法