В последнее время я перешел с Visual Studio в Windows 7 на Ubuntu с Netbeans 8.0 (C ++). С тех пор у меня возникла большая проблема с отладкой моего приложения из NetBeans (GDB работает отлично). Я написал привет мир C ++ с Gradle, чтобы продемонстрировать свою проблему. Я провел много времени, но без какого-либо существенного прогресса.
build.gradle:
apply plugin: 'cpp'
executables {
helloWorld
}
binaries.all {
cppCompiler.args "-g"}
main.cpp:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int a = 10;
int b = 12;
int c = a + b;
puts("Hello World!!!");
return EXIT_SUCCESS;
}
Затем я собираю и запускаю GDB:
robert-Aspire-S3:~/NetBeansProjects/helloWorld$ gradle helloWorldExecutable
robert-Aspire-S3:~/NetBeansProjects/helloWorld$ gdb ./build/binaries/helloWorldExecutable/helloWorld
....
Reading symbols from ./build/binaries/helloWorldExecutable/helloWorld...done.
(gdb) b 5
Breakpoint 1, main () at /home/robert/NetBeansProjects/helloWorld/src/helloWorld/cpp/main.cpp:5
5 int a = 10;
(gdb) n
6 int b = 12;
(gdb) print a
$1 = 10
(gdb) n
7 int c = a + b;
(gdb) c
Continuing.
Hello World!!!
[Inferior 1 (process 3693) exited normally]
Следующим шагом было подключение к процессу GDB из Netbeans 8.0. Я также поставил точку останова в NetBeans в 5-й строке, надеясь, что получу вывод GDB.
К сожалению, Netbeans не достигает точки останова в области редактора, и я не знаю почему. Я также открыл Консоль Debbuger и я вставил журналы (пастин) для получения дополнительной информации.
Приложение C ++
Когда я создал стандарт Приложение C / C ++ из мастера NetBeans и попробуйте отладить все работает хорошо.
Для этой сессии я также загружать журналы.
Я нашел одно отличие в журналах:
10-file-symbol-file "/usr/bin/gdb"
10-file-exec-and-symbols "/home/robert/NetBeansProjects/CppApplication_1/dist/Debug/GNU-Linux-x86/cppapplication_1"
Так это проблема с этой строкой с Gradle?
Если да, как я могу это исправить?
Может ли кто-нибудь помочь мне с подключением визуального отладчика NetBeans к проектам gradle cpp?
Спасибо за помощь.
Я думаю, что проблема в build.gradle, поэтому вы должны проверить синтаксис, используемый в программе Gradle. http://gradle.org/getting-started-native/ этот сайт содержит несколько примеров. Прочитайте это, чтобы исправить вашу проблему.