![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Dimon_obolon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 15.6.2007 Репутация: нет Всего: нет |
Здравствуйте эксперты м начинающие.
Может кто-то подсказать как добавить точку прерывания в программу...что б в последствии обрабатывать отладочную информацию в точке остановки.... не средствами среды разработки!!!! (аналог Дебагеров стандартных).. подскажите хотя бы в каком направлении искать..пока от GOOGLE осбо ничего не нашёл..мож не правильно спрашиваю.. |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
ОС Windows?
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Dimon_obolon, проще сделать отладочный вывод
|
|||
|
||||
| Dimon_obolon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 15.6.2007 Репутация: нет Всего: нет |
ОС Win или Lnix...предпочтительней WIN )) необходимо добавлять точки прерывания в БИНарник проходя по этим точка прерывания планирую собирать отладочную информацию вообщем реализовать нечто breakpoint - разных компиляторов основная задача передавать приложению разного рода входящие сообщения..и следить за его реакцией на них... хотя бы направте где искать,что почитать... |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
под Win - Debug Help Library
а вообще для этого есть отладчик, там все уже сделано... |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
в Linux есть специальный системный вызов ptrace() (man 2 ptrace) с помощью него можно сделать с отладочным процессом все, что захочешь обычный способ, через который работает GDB, как раз связан с ptrace() а именно, создается отладочный процесс, далее он подключается к процессу отладчика посредством PTRACE_ATTACH по сути все добавление breakpoint ' а заключается в замене опкода инcтрукции по нужному адресу на значение 0xCC (int3) (тоже через ptrace()) int3 приводит к генерации исключения #BP, которое вырождается в сигнал SIGTRAP а т. к процесс является отладочным процессом, то генерация сигнала приводит к остановке процесса (а не вызову обработчика сигнала) и информированию процесса отладчика о данном событии Это сообщение отредактировал(а) MAKCim - 29.11.2007, 10:19 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| Dimon_obolon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 15.6.2007 Репутация: нет Всего: нет |
MAKCim интересно а под WIN как это реализовывается... ??? |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Почти так же, только вместо ptrace DebugActiveProcess. См. так же CheckRemoteDebuggerPresent Determines whether the specified process is being debugged. ContinueDebugEvent Enables a debugger to continue a thread that previously reported a debugging event. DebugActiveProcess Enables a debugger to attach to an active process and debug it. DebugActiveProcessStop Stops the debugger from debugging the specified process. DebugBreak Causes a breakpoint exception to occur in the current process. DebugBreakProcess Causes a breakpoint exception to occur in the specified process. DebugSetProcessKillOnExit Sets the action to be performed when the debugging thread exits. FatalExit Transfers execution control to the debugger. FlushInstructionCache Flushes the instruction cache for the specified process. GetThreadContext Retrieves the context of the specified thread. GetThreadSelectorEntry Retrieves a descriptor table entry for the specified selector and thread. IsDebuggerPresent Determines whether the calling process is being debugged. OutputDebugString Sends a string to the debugger for display. ReadProcessMemory Reads data from an area of memory in a specified process. SetThreadContext Sets the context for the specified thread. WaitForDebugEvent Waits for a debugging event to occur in a process being debugged. WriteProcessMemory Writes data to an area of memory in a specified process. |
|||
|
||||
| Dimon_obolon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 15.6.2007 Репутация: нет Всего: нет |
Спасибо всем ..для начало мне этого достаточно..дело за мануалами и хелпами ))
|
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Dimon_obolon, не забывай тему помечать решённой.
|
|||
|
||||
| Dimon_obolon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 15.6.2007 Репутация: нет Всего: нет |
Dimon_obolon, не забывай тему помечать решённой.
|
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
||||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |