Vscode-Debug-.sh&.py文件

Vscode调试带参数的bash脚本


以bash ./shell/pretrain.sh 0 2023为例:

  1. 在Vscode中安装Bash Debug
    在这里插入图片描述
  2. 配置编译器
    在这里插入图片描述
    点击之后生成/home/user/Demo/.vscode/launch.json文件,内容如下:
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "bashdb",
            "request": "launch",
            "name": "Bash-Debug (simplest configuration)",
            "program": "${file}"
        }
    ]
}
  1. 修改文件内容的后两行,添加debug的文件目录和参数:
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        
        {
            "type": "bashdb",
            "request": "launch",
            "name": "Bash-Debug",
            "program": "/home/user/Demo/shell/pretrain.sh",
            "args": ["0", "2023"]
        }
    ]
}
  1. 点击左上角的三角符号开始debug
    在这里插入图片描述
  2. 运行之后报错如下:
    在这里插入图片描述
  3. 为了解决以上问题,在launch.json中添加一行
"terminalKind": "integrated"

点击左上角的三角符号得到:
在这里插入图片描述

  1. 在终端可以切换其他虚拟环境,再重新点击运行即可在不同的虚拟环境中debug shell脚本文件。

以上步骤不能在脚本文件运行的python文件中debug。如果想debug脚本文件运行的python文件,可以尝试将脚本文件中的参数写入.vscode/launch.json。

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python 调试程序: 当前文件",
            "type": "debugpy",
            "request": "launch",
            "program": "/home/user/Demo/pretrain.py",
            "console": "integratedTerminal",
            "args": [
                "--base_model", "/home/user/LLM/llama-7b-hf/",
                "--data_path", "/home/user/Demo/data/movie/sequences.json",
                "--output_dir", "/home/user/Demo/model/",
                "--batch_size", "128",
                "--micro_batch_size", "32",
                "--num_epochs", "200",
                "--learning_rate", "1e-4",
                "--cutoff_len", "512",
                "--lora_r", "8",
                "--lora_alpha", "16",
                "--lora_dropout", "0.05",
                "--lora_target_modules", "[q_proj,v_proj]",
                "--resume_from_checkpoint", "/home/user/Demo/alpaca-lora-7B",
                "--sample", "64",
                "--seed", "2023"
            ]
        }
        // {
        //     "type": "bashdb",
        //     "request": "launch",
        //     "name": "Bash-Debug",
        //     "program": "/home/user/Demo/shell/pretrain.sh",
        //     "terminalKind": "integrated",
        //     "args": [
        //         "0",
        //         "2023"
        //     ]
        // }
    ]
}

通过这种方式就可以在python文件中打断点debug。
如果程序需要并行运行多个py文件,可以尝试使用Python自带的pdb模块,在代码中设置断点并进行调试。

[OHOS ERROR] [NINJA] [15651/17203] SOLINK arkui/ace_engine/libace_compatible.z.so [OHOS ERROR] [NINJA] FAILED: arkui/ace_engine/libace_compatible.z.so lib.unstripped/arkui/ace_engine/libace_compatible.z.so [OHOS ERROR] [NINJA] /usr/bin/env "../../build/toolchain/gcc_solink_wrapper.py" --readelf="../../prebuilts/clang/ohos/linux-x86_64/llvm/bin/llvm-readobj" --nm="../../prebuilts/clang/ohos/linux-x86_64/llvm/bin/llvm-nm" --strip=../../prebuilts/clang/ohos/linux-x86_64/llvm/bin/llvm-strip --strip-debug-whitelist=../../build/toolchain/strip_debug_whitelist.txt --sofile="./lib.unstripped/arkui/ace_engine/libace_compatible.z.so" --output="arkui/ace_engine/libace_compatible.z.so" --clang-base-dir="/home/rk3576/rk3576/OpenHarmony-v5.1.0-Release/OpenHarmony/prebuilts/clang/ohos" --mini-debug -- ../../prebuilts/clang/ohos/linux-x86_64/llvm/bin/clang++ -shared -Wl,--version-script=../../foundation/arkui/ace_engine/build/libace.map -Wl,--pack-dyn-relocs=android+relr -Wl,--fatal-warnings -Wl,--build-id=md5 -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--as-needed -fuse-ld=lld -Wl,--icf=all -Wl,--color-diagnostics -flto=thin -Wl,--thinlto-jobs=16 -Wl,--thinlto-cache-dir=thinlto-cache -Wl,--lto-O0 -march=armv7-a -Wl,--no-undefined -Wl,--exclude-libs=libunwind_llvm.a -Wl,--exclude-libs=libc++_static.a -Wl,--exclude-libs=libvpx_assembly_arm.a --target=arm-linux-ohos -Werror -Wl,--warn-shared-textrel -Wl,-O2 -Wl,--gc-sections -Wl,--gdb-index --sysroot=obj/third_party/musl -nostdlib -Lobj/third_party/musl/usr/lib/arm-linux-ohos -L../../prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/15.0.4/lib/arm-linux-ohos -Wl,--warn-shared-textrel -Wl,--lto-O2 -fsanitize-trap=all -ftrap-function=abort -o "./lib.unstripped/arkui/ace_engine/libace_compatible.z.so" @"arkui/ace_engine/libace_compatible.z.so.rsp" -Wl,-soname="libace_compatible.z.so" [OHOS ERROR] [NINJA] clang-15: error: unable to execute command: Killed [OHOS ERROR] [NINJA] clang-15: error: linker command failed due to signal (use -v to see invocation) 怎么解决
最新发布
08-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值