На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (3) [1] 2 3  все  ( Перейти к последнему сообщению )  
> Tiny Debugger
     Доброго времени суток всем!
    Решил я тут немного извратнуться и замутить проект. Точнее уже замутил.
    Мне часто приходится писать программы, пользователей которых я в глаза не видывал. Часто заказчики находятся за тысячи километров от меня, связь с ними - только по email. И вот пишешь-пишешь, компилишь релизную сборку, думаешь "ухх... well done, commander. return to the base"... ан нет - начинается сплошная засада. Приходит письмо - не работает прога на клиентской машине. Приходится вступать в переписку, выяснять что там у клиента не так, где ашипка (в ДНКwink.gif)... Нервы, время, деньги...
    Дабы не тратить их зря захотелось мне написать маленькую утилитку для просмотра отладочных сообщений программ ( то что вы посылаете в окно Output отладчика, используя OutputDebugString, TRACE и иже с ними ). Немного поигравшись, приделал более-менее полноценный Output-bar в стиле шестой студии, при вылете показываю стек вызовов функций и инфу об исключении. При наличии отладочной информации (.pdb-файлы) пользователь может локализовать область поиска глюка до функции, а при наличии исходников ( как правило - это не проблема ) и посмотреть непосредственно на строку кода ставшей причиной вылета.
    В опсчем-та тут: http://e-yes.nm.ru/tiny.dhtml можно скачать этот самый отладчик.

    Жду ваших комментариев, пожеланий, предложений... короче порции оваций и помидоров ;D
    Сообщение отредактировано: e-yes -
      Показывает '????????????????' вместо названий длл (в unicode что-ли?)
        Всё делал согласно официальной доки, т.е если fUnicode стоит - читаю строку как юникод, но видимо под 9х всё равно строки в MBCS лежат. Поправлю. Спасибо за инфу.
          Ну не знаю, посмотрел на fUnicode своим debug. Он как и положено = 0
            Вроде поправил DLLки, на днях будут готовы окна Watch и Variables.
            Сообщение отредактировано: e-yes -
              Сделай его ещё удалённым, чтоб ты мог сидя дома смотреть какие проблемы у людей
              "за тысячи километров". Вплоть до сливания кусков кода(исходников) на твою тачку.
                Ну непосредственно отлаживать на удаленной тачке (не в пределах ЛС) сложновато сделать, прокси, файрволы всякие... А вот ведение лога с полным раскладом по исключениям, стеку, переменным... еще до хрена чего ... сделаю обязательно. Очень жизнь облегчает;)
                  Цитата e-yes, 18.03.03, 17:51:59
                  Ну непосредственно отлаживать на удаленной тачке (не в пределах ЛС) сложновато сделать, прокси, файрволы всякие... А вот ведение лога с полным раскладом по исключениям, стеку, переменным... еще до хрена чего ... сделаю обязательно. Очень жизнь облегчает;)


                  Куски исходников обязательно сделай :)
                    Твоя программа похожа на DbgView которая перехватывает DbgPrint, и т.д. by Mark Russinivoch.
                      Ну у меня debugee более высокоуровневые:) - не очень хочется в дебри kernel-mode debugging лезть.
                        Исправил кучу глюков, добавил окно для просмотра переменных (на 2K и XP работает, на остальных - не знаю ). Сделать еще надо дохрена чего, но на первом месте - точки останова ( что б действительно дебаггером это моё творение назвать можно было ;) )
                          Да, чуть не забыл!!!
                          Теперь сабж можно сделать отладчиком по-умолчанию, т.е если прога падает - после нажатия Debug будет открываться Tiny Debugger.
                          Для этого в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug надо исправить (добавить) строковое значение с названием Debugger, в котором указать
                          "<полный путь>\TinyDBG.exe" -p \%ld -e \%ld

                          Буду очень признателен, если кто протестирует на 9х, у меня пока такой возможности нет.
                            В 95 так и не показывает имена длл. Вместо них показывает одинокую кавычку.
                            ЗЫ. И ещё не работает со старыми версиями mfc42.dll (4.хх) из-за отсутствия в них каких-то ф-ий (сорри,не помню номер ординала)
                              Ну 95-е уже история. К тому ж я MFC юзаю только для морды. Кстати, BoundsChecker сказал, что под 2K не будет работать, а под 9х будет. А получается совсем наооборот.
                                New build just released and uploaded.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (3) [1] 2 3  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0454 ]   [ 15 queries used ]   [ Generated: 27.04.24, 23:38 GMT ]