Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Отладка  (Прочитано 1166 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alsoijw

  • Автор темы
  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Отладка
« : 29 Апреля 2014, 13:19:48 »
Захотел понять в какая строка вызывает ошибку. Нужен отладчик. Ради примера создал простой файл с ошибкой.
Код: (vala) [Выделить]
void main(string[] args)
{
int a = 0;
int b = 5 / a;
}
А вот вывод из терминалаalsoijw@alsoijw-TravelMate-P253:~$ valac --debug 1.vala
1.vala:4.6-4.14: warning: local variable `b' declared but never used
int b = 5 / a;
    ^^^^^^^^^
Compilation succeeded - 1 warning(s)
alsoijw@alsoijw-TravelMate-P253:~$ gdb 1
GNU gdb (Ubuntu 7.7-0ubuntu3) 7.7
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from 1...done.
(gdb) quit
alsoijw@alsoijw-TravelMate-P253:~$ ltrace ./1
__libc_start_main(0x8048416, 1, 0xbfc31aa4, 0x8048440 <no return ...>
--- SIGFPE (Floating point exception) ---
+++ killed by SIGFPE +++
alsoijw@alsoijw-TravelMate-P253:~$ strace ./1
execve("./1", ["./1"], [/* 63 vars */]) = 0
brk(0)                                  = 0x8eff000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77c7000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=115469, ...}) = 0
mmap2(NULL, 115469, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77aa000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\233\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1758972, ...}) = 0
mmap2(NULL, 1763964, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb75fb000
mmap2(0xb77a4000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a9000) = 0xb77a4000
mmap2(0xb77a7000, 10876, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb77a7000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb75fa000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb75fa940, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb77a4000, 8192, PROT_READ)   = 0
mprotect(0x8049000, 4096, PROT_READ)    = 0
mprotect(0xb77ea000, 4096, PROT_READ)   = 0
munmap(0xb77aa000, 115469)              = 0
--- SIGFPE {si_signo=SIGFPE, si_code=FPE_INTDIV, si_addr=0x804840e} ---
+++ killed by SIGFPE (core dumped) +++
Исключение в операции с плавающей точкой (сделан дамп памяти)
alsoijw@alsoijw-TravelMate-P253:~$ ./1
Исключение в операции с плавающей точкой (сделан дамп памяти)
alsoijw@alsoijw-TravelMate-P253:~$
Собственно сам вопрос: есть ли простой и удобный отладчик, которым удобно отлаживать код а Vala/Genie?
« Последнее редактирование: 29 Апреля 2014, 13:23:18 от alsoijw »
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Axa-Ru

  • Гость
Re: Отладка
« Ответ #1 : 29 Апреля 2014, 18:53:37 »
Используйте Eclipse. Там неплохой фронтенд для gdb

Есть еще DDD

А вообще gdb и так не плох
http://www.ibm.com/developerworks/linux/library/l-gdb/
« Последнее редактирование: 29 Апреля 2014, 18:55:46 от Axa-Ru »

Оффлайн alsoijw

  • Автор темы
  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Отладка
« Ответ #2 : 30 Апреля 2014, 07:05:43 »
Axa-Ru, Eclipse для Vala/Genie? Как?
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Axa-Ru

  • Гость
Re: Отладка
« Ответ #3 : 30 Апреля 2014, 07:50:57 »
Захотел понять в какая строка вызывает ошибку. Нужен отладчик.
Изменились требования?

 

Страница сгенерирована за 0.017 секунд. Запросов: 22.