Board.KolibriOS.org http://board.kolibrios.org/ |
|
Вывод отладочных сообщений (page fault и другие) http://board.kolibrios.org/viewtopic.php?f=1&t=2403 |
Page 1 of 1 |
Author: | Mario_r4 [ Sat Sep 14, 2013 10:23 pm ] |
Post subject: | Вывод отладочных сообщений (page fault и другие) |
SVN r. 3909 добавил вывод дампа для содержимого стека от ESP+0, до ESP+32. Бывает полезно, например, можно вычислить кто вызвал текущую процедуру, в которой произошла ошибка. Да, и вообще полезно знать не только адрес стека, а и его содержимое. Я не уверен на все 100% в корректности работы - всегда возможны накладки, так что если у кого будут возражения/дополнения готов выслушать и внести изменения при необходимости. |
Author: | UnКайF [ Sat Sep 14, 2013 10:28 pm ] |
Post subject: | Re: Вывод отладочных сообщений (page fault и другие) |
Безусловно полезно. Потестить еще не успел. Вопрос в том, как удобнее выводить - побайтно или поdwordно ? |
Author: | Mario_r4 [ Sat Sep 14, 2013 10:35 pm ] |
Post subject: | Re: Вывод отладочных сообщений (page fault и другие) |
UnКайF wrote: Вопрос в том, как удобнее выводить - побайтно или поdwordно ? В стек заносится dword. Других размерностей не предусмотрено, потому и вывод сделал так же. |
Author: | Serge [ Mon Sep 16, 2013 12:51 pm ] |
Post subject: | Re: Вывод отладочных сообщений (page fault и другие) |
Mario_r4 Надо проверять esp на возможность доступа к памяти код из page_fault_handler. ebx содержит проверяемый адрес Code: shr ebx, 12 |
Author: | Mario_r4 [ Tue Sep 17, 2013 1:02 am ] |
Post subject: | Re: Вывод отладочных сообщений (page fault и другие) |
Serge wrote: Mario_r4 Надо проверять esp на возможность доступа к памяти код из page_fault_handler. ebx содержит проверяемый адрес Спасибо за подсказку - добавил проверку в ревизии 3911. |
Author: | b00bl1k [ Thu Nov 01, 2018 10:11 pm ] |
Post subject: | Re: Вывод отладочных сообщений (page fault и другие) |
Сделал вывод символьных имён, если в корне образа присутствует файл kernel.dbg. О создании файла написано в теме про mtdbg. Сейчас он в сжатом виде занимает почти 40 кб. Полезно или нет? Attachment: stacktrace.png [ 4.98 KiB | Viewed 5725 times ] |
Author: | Siemargl [ Thu Nov 01, 2018 10:23 pm ] |
Post subject: | Re: Вывод отладочных сообщений (page fault и другие) |
b00bl1k wrote: Сделал вывод символьных имён, если в корне образа присутствует файл kernel.dbg. О создании файла написано в теме про mtdbg. Сейчас он в сжатом виде занимает почти 40 кб. Полезно или нет? stacktrace.png Только сегодня делал себе. В стеке хранится адрес возврата из функции...+5 от точки вызова. Адрес вызываемой и точку вызова надо вычислять. Что за имя выводится? Стектрейс бы сделать на уровне ОС.... |
Author: | b00bl1k [ Thu Nov 01, 2018 10:35 pm ] |
Post subject: | Re: Вывод отладочных сообщений (page fault и другие) |
Имя выводится, если значение из стека в пределах OS_BASE..endofcode. Само имя из файла kernel.dbg. Siemargl wrote: Только сегодня делал себе. В ядре? |
Author: | Siemargl [ Thu Nov 01, 2018 11:36 pm ] |
Post subject: | Re: Вывод отладочных сообщений (page fault и другие) |
b00bl1k wrote: Имя выводится, если значение из стека в пределах OS_BASE..endofcode. Само имя из файла kernel.dbg. Siemargl wrote: Только сегодня делал себе. В ядре? зачем мне ядро? мне бы компилятор допилить...в либе |
Author: | b00bl1k [ Thu Nov 01, 2018 11:42 pm ] |
Post subject: | Re: Вывод отладочных сообщений (page fault и другие) |
Siemargl wrote: Стектрейс бы сделать на уровне ОС.... Переход на PE формат исполняемых файлов позволил бы хранить отладочную информацию. |
Author: | Siemargl [ Thu Nov 01, 2018 11:53 pm ] |
Post subject: | Re: Вывод отладочных сообщений (page fault и другие) |
b00bl1k wrote: Siemargl wrote: Стектрейс бы сделать на уровне ОС.... Переход на PE формат исполняемых файлов позволил бы хранить отладочную информацию. рядом с файлом кладем .dbg файл и всё переход на PE... но зачем ? win уже есть аналогично с ELF |
Author: | b00bl1k [ Fri Nov 02, 2018 10:01 am ] |
Post subject: | Re: Вывод отладочных сообщений (page fault и другие) |
Siemargl wrote: но зачем? Причины уже озвучивались ранее. А в контексте этой темы - возможность сохранения отладочной информации в исполняемый файл самим компилятором без изобретения колёс и велосипедов. |
Author: | Siemargl [ Fri Nov 02, 2018 11:00 am ] |
Post subject: | Re: Вывод отладочных сообщений (page fault и другие) |
b00bl1k wrote: Siemargl wrote: но зачем? Причины уже озвучивались ранее. А в контексте этой темы - возможность сохранения отладочной информации в исполняемый файл самим компилятором без изобретения колёс и велосипедов. |
Author: | b00bl1k [ Fri Nov 02, 2018 11:24 am ] |
Post subject: | Re: Вывод отладочных сообщений (page fault и другие) |
b00bl1k wrote: Siemargl wrote: Стектрейс бы сделать на уровне ОС.... Переход на PE формат исполняемых файлов позволил бы хранить отладочную информацию. Возможно ошибаюсь, но стектрейс для уровня пользователя можно было бы сделать в kolibri.dll с помощью установки обработчика исключений. |
Page 1 of 1 | All times are UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |