Как автоматизировать отладку в VSCode, аналогичную GDB `-x gdb_script`?Linux

Ответить Пред. темаСлед. тема
Anonymous
 Как автоматизировать отладку в VSCode, аналогичную GDB `-x gdb_script`?

Сообщение Anonymous »

Я учусь использовать код Visual Studio (VSCode) для своего проекта C/C++. В Linux CLI я обычно автоматизирую отладку с помощью GDB с помощью команды:
gdb a.out -x gdb_script

Это позволяет мне запускать GDB с предопределенным набором команд из сценария, что значительно ускоряет процесс отладки для более крупных проектов.
Однако, теперь, когда мой проект растет, ручная отладка в VSCode становится медленной. Я пытаюсь найти способ автоматизировать процесс отладки в VSCode, аналогично тому, как я использую -x gdb_script с GDB.
Я настроил сборку и отладку конфигурации в launch.json и Tasks.json, но я не нашел способа включить скрипт для автоматизации процесса.
Я искал в Интернете решения и обнаружил, что некоторые рекомендуют установка точек останова внутри проекта во время отладки. Эти точки останова будут сохраняться между сеансами отладки, что упрощает возобновление отладки позже. Хотя этот метод работает, я считаю его менее эффективным по сравнению с использованием автоматического сценария, такого как опция -x gdb_script в GDB.
Любые предложения по автоматизации процесса отладки в VSCode, например, с использованием -x gdb_script с GDB?
Вот мои текущие конфигурации .vscode:
// launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Current File",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/bin/${fileBasenameNoExtension}",
"args": [
"/home/mwm1c/pmem/intro_1.obj"
],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"internalConsoleOptions": "neverOpen",
"MIMode": "gdb",
"preLaunchTask": "build",
"miDebuggerPath": "/usr/bin/gdb",
}
]
}

// tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "cppbuild",
"command": "gcc",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/bin/${fileBasenameNoExtension}",
"-lpmemobj"
],
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "new",
"showReuseMessage": true,
},
"problemMatcher": ["$gcc"]
},
{
"label": "run",
"type": "shell",
"dependsOn": "build",
"command": "${fileDirname}/bin/${fileBasenameNoExtension}",
"group": {
"kind": "test",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": true,
"panel": "new",
}
}
]
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... gdb-script
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Script Script Script Script Script
    Anonymous » » в форуме Javascript
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Google Cloud Scheduler не может найти Script Script Script Script Cloud Run aname lobname
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Google Cloud Scheduler не может найти Script Script Script Script Cloud Run aname lobname
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Google Cloud Scheduler не может найти Script Script Script Script Cloud Run aname lobname
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Вы загрузили отладку APK. По соображениям безопасности вам необходимо отключить отладку, прежде чем она может быть опубл
    Anonymous » » в форуме Android
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Linux»