Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.140.185.147] |
|
Страницы: (5) [1] 2 3 ... Последняя » все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
привет чуваки с вами Сифон!
скажите в каких случаях вы используете его ? лично я его уже давно не использую точнее я им даже не умею пользоваться, обычно я раскидываю ассерты и трассировочные месседжи и все. в последнее время ещё юзаю тесты типа Гугл. пс. наверное просто я не писал оочень сложных программ |
Сообщ.
#2
,
|
|
|
я так понимаю что отладчик нужен для трассировки ассемблерного кода, то бишь не для меня
|
Сообщ.
#3
,
|
|
|
Отладчик нужен для пошагового исполнения программы, а не для трассировки ассемблерного кода. Вот будет у тебя баг в программе, так сразу про отладчик и вспомнишь.
|
Сообщ.
#4
,
|
|
|
Цитата KILLER @ Отладчик нужен для пошагового исполнения программы, а не для трассировки ассемблерного кода. Вот будет у тебя баг в программе, так сразу про отладчик и вспомнишь. баг это что логическая ошибка? |
Сообщ.
#5
,
|
|
|
Cfon, на самом деле отладчик позволяет экономить время. Поставил бряк и смотришь содержимое всех переменных и контейнеров, вместо того, чтобы самому организовывать вывод отладочной инфы.
Добавлено Когда-то я и сам недооценивал пользу отладчика. |
Сообщ.
#6
,
|
|
|
Цитата Cfon @ я так понимаю что отладчик нужен для трассировки ассемблерного кода Не обязательно. В отладчике удобно пошагово выполнять программу. А в какой-нибудь студии и вовсе можно руками точку выполнения перемещать в некоторых случаях. Очень удобно - никакой дебажный вывод даже рядом не стоит. Но в целом это от личных предпочтений зависит. Знаю |
Сообщ.
#7
,
|
|
|
Цитата Cfon @ пс. наверное просто я не писал оочень сложных программ Как раз, в случае сложных программ отладчик помогает слабо. А так, я вообще удивлён вопросом. Отладчик это незаменимая вещь - там можно смотреть переменные, перемещаться по стеку, смотреть память, отлавливать исключения и т.д. и т.п. Ты в чём программируешь? |
Сообщ.
#8
,
|
|
|
Цитата Олег М @ Как раз, в случае сложных программ отладчик помогает слабо. Почему? |
Сообщ.
#9
,
|
|
|
Цитата KILLER @ Почему? Попробуй поотлаживать программу, где у тебя больше одного потока. Например найти дедлок. |
Сообщ.
#10
,
|
|
|
Когда то давно, когда я был маленький и глупый, я все время пользовался отладчиком MSVC, но однажды устроился работать в контору, которая писала под свое кастомное железо, и по каким то причинам ( уже не помню ) gdb было просто не собрать. С тех пор вся моя отладка это вывод в консоль, проблем не знаю никаких. + Как правильно подметили при отладке многопоточных приложений gdb пмомжет чуть менее чем никак ИМХО.
|
Сообщ.
#11
,
|
|
|
Цитата Painkiller @ Когда то давно, когда я был маленький и глупый, я все время пользовался отладчиком MSVC, но однажды устроился работать в контору, Да и сама Микрософт не просто пользуется - просто злоупотребляет "OutputDebugString". Прямо из студии прут часто бессмысленные сообщения. NVidia тоже не гнушается.. да все практически используют. А что делать в случае, когда остановить программу невозможно ? Как посмотреть удалённо, что происходит с программой ? Или как узнать, что происходит внутри микроконтроллера ? Как только будут получены ответы на эти вопросы, выяснится, что потребность в отладчике уже не такая срочная. --- А если дело дошло до отладчика уровня ядра, значит уже вляпались по самые уши. Основная задача разработчика - это туда не попасть. |
Сообщ.
#12
,
|
|
|
Цитата Олег М @ Попробуй поотлаживать программу, где у тебя больше одного потока. Например найти дедлок. Пробовал, вроде получалось. Там когда на бряке останавливаешься - можно посмотреть стек, конкретного потока. Причем у меня один раз был случай, когда многопоточное COM приложение(сервер) упал нахрен и завис в дедлоке из за того, что в удаленном процессе выскочило исключение, оно вернулось на сервер, а сервер должен был записать сообщение об ошибке и грохнуть удаленного агента, но при записи сообщения в лог, произошла взаимоблокировка, вылетело еще одно исключение, в общем без отладчика - я бы никогда в жизни даже близко не понял бы где ошибка, а оказалось что ошибка была в локальной переменной логера, стоило сделать ее статической - как все проблемы исчезли. Без отладчика, я даже не додумался бы то место трейсить. Хотя причем тут многопоточные приложения, когда ты написал про сложные программы. Многопоточная - еще не значит сложная. Добавлено Цитата Painkiller @ Как правильно подметили при отладке многопоточных приложений gdb пмомжет чуть менее чем никак ИМХО. Да вы просто не умеете его готовить. В том же gdb можно вывести стек нужного потока, и хотя бы проследить цепочку вызовов. Отлаживать в консоль - пользуюсь таким оочень редко, иногда и консоли вообще нет, пользуюсь трасировкой в файл, но это только в тех случаях, когда отладка попросту бессмыслена(например баг с фокусами в GUI), там просто бесполезно что либо отлаживать. Добавлено Цитата ЫукпШ @ Как посмотреть удалённо, что происходит с программой ? Remote Debugger тебе в помощь, причем ЕМНИП, такая штука есть довольно давно и в любом более менее отладчике поддерживается. Последний год именно удаленным отладчиком и отлаживаю клиентов на виртуальной машине. Добавлено Вы еще приведите в пример - а как релизную сборку отлаживать отладчиком |
Сообщ.
#13
,
|
|
|
Цитата KILLER @ Вы еще приведите в пример - а как релизную сборку отлаживать отладчиком Там им хорошо исключения ловить. Если они вообще будут повторяться под отладчиком. |
Сообщ.
#14
,
|
|
|
Цитата Олег М @ Там им хорошо исключения ловить. Если они вообще будут повторяться под отладчиком. Да отлаживаться тоже как то не плохо. |
Сообщ.
#15
,
|
|
|
На самом деле, за последние годы средства отладки многопоточных приложений продвинулись очень сильно. Рассказывать сейчас лень и некогда, кому интересно -- гугл в помощь.
|