Отладочный код Vscode C ++, созданный с помощью cl.exe и / link.exe - отладчик не присоединяется - PullRequest
0 голосов
/ 24 февраля 2019

Итак, я собрал свою систему сборки для моей игры на c ++ с gulp.js, вызывающей cl.exe и link.exe для сборки игры.Я создаю сборку, которая выводит файл pdb, почти уверен, что у меня есть все включенные символы отладки.

Игра строится нормально, но я бы хотел подключить ее к отладчику vscode.

Теперь подавляющее большинство настроек, которые я видел в Интернете, когда кто-то настраивает файл launch.json для отладчика, использует gdb.Я не против использования GDB, на самом деле важно только, чтобы он работал.Но я делаю двоичные файлы с cl.exe и link.exe.В любом случае, моя программа запуска прекрасно запускает исполняемый файл, но отладчик не присоединяется.Например, нет точек останова.

Раньше я строил с mingw, и все было хорошо.Вместо этого я хотел бы использовать cl.exe и link.exe, но я подозреваю, что по этой причине отладчик не подключается.

1 Ответ

0 голосов
/ 25 февраля 2019

GDB не является отладчиком vscode ;это отладчик, который вы можете указать в vscode при условии, что вы также используете компилятор и компоновщик, которые генерируют двоичные файлы, содержащие отладочную информацию в форме, распознаваемой GDB.

Microsoft cl и link не являются такимикомпилятор и компоновщик.GDB является отладчиком GNU и поддерживается компиляторами GNU GCC - gcc, g++, gfortran, gnat, gccgo - и GNU binutils linkers .Отладочная база данных Microsoft .pdb ничего не значит для GDB: она может использоваться только отладчиком MS Visual Studio .

Если вы компилируете с опцией cl /Z7, затем PE/COFF информация отладки будет встроена в ваши объектные файлы, и если вы свяжетесь с опцией /DEBUG:NONE, компоновщик не сгенерирует .pdb.Затем вы можете обнаружить, что GDB может удовлетворительно отлаживать ваш исполняемый файл, но я не могу ручаться за это.

...