Форум: "Основная";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];
ВнизПолучить Call-Stack Найти похожие ветки
← →
DevilDevil © (2007-11-19 19:07) [0]Здравствуйте.
В своё время уже интересовался сабжем (на Мастерах), мне посоветовали JVCL. Там просто ОГРОМНОЕ нагромождение кода и модулей; а мне необходимо сделать всё компактненько, в одном модуле.
Подскажите, в чём суть, каким образом получается получить адреса вызовов? (я уж не спрашиваю, как получать данные из запакованного *.map ресурсника ).
Искренне надеюсь, что истина рядом, и за день можно будет сварганить что-то приемлемое.
Заранее спасибо.
← →
trubin © (2007-11-19 20:08) [1]http://rsdn.ru/article/Delphi/DelphiJCL.xml
На основе данной статьи в свое время за пару часов сварганил отладочную версию, и послал клиенту. Там вроде все просто. Если самому делать, может их исходники помогут.
← →
Сергей С. (2007-11-19 21:27) [2]
> каким образом получается получить адреса вызовов?
Раскрутив стек.
Тебе уже сказали - не занимайся фигней, в общем случае задача не решаема.
← →
DevilDevil © (2007-11-20 10:29) [3]так я и думал - никто не знает )
← →
DevilDevil © (2007-11-20 10:47) [4]если я правильно понял, то во фреймах хранятся так же параметры вызванных функций; почему в JclDebug нет соответствующего демо ?
← →
Правильный_Вася (2007-11-20 11:02) [5]при fastcall большинство параметров помещаются в регистры
← →
atruhin © (2007-11-21 17:44) [6]Несколько месяцев назад Alex Konshin приводил пример реализации раскрутки стека.
Поищи.
← →
DevilDevil © (2007-11-22 16:59) [7]> atruhin © (21.11.07 17:44) [6]
а где поискать можно ?
← →
Сергей М. © (2007-11-22 17:01) [8]Удалено модератором
← →
DevilDevil © (2007-11-22 17:24) [9]> Сергей М. © (22.11.07 17:01) [8]
Как JCL решает нерешаемую задачу ?
← →
KSergey © (2007-11-22 18:16) [10]Там не так уж много надо взять от ждеди, чтобы call-stack получить.
МОжет не стоит велосипеды изобретать?
← →
DevilDevil © (2007-11-22 19:38) [11]вообще говоря, я его у же юзаю.
хотя, не очень хочется.
используется один юнит JclDebug, а он в свою очередь тянет ещё 15-20 jcl-ных модулей.
← →
DevilDevil © (2007-11-22 19:40) [12]как Delphi определяет параметры функций в CallStack-е ?
В Jcl подобной фичи нет вроде
← →
vpbar © (2007-11-22 22:28) [13]>>DevilDevil © (22.11.07 19:40) [12]
Используя отладочную информацию доступную линковщику.
Нет и быть не может.
← →
Сергей М. © (2007-11-23 08:17) [14]
> Как JCL решает нерешаемую задачу ?
>
Плохо она решает. Именно по причине того, что в стеке в общем случае м.б. солянка сборная, а не только фреймы, сгенерированные дельфийским компилятором.
> как Delphi определяет параметры функций в CallStack-е ?
Убери из целевого модуля отлад.информацию - и тут же перестанет определять)
← →
DevilDevil © (2007-11-23 10:07) [15]> Сергей М. © (23.11.07 08:17) [14]
:) без отладочной информации у тебя и брейкпоинты позеленеют.
← →
Сергей М. © (2007-11-23 10:12) [16]
> DevilDevil © (23.11.07 10:07) [15]
А откуда возьмется отладочная инй-ция в сторонних PE-модулях, используемых процессом твоего приложения ?
В них ведь тоже осуществляется вызов подпрограмм, причем не обязательно в соответствии с дельфийскими умалчиваемыми соглашениями !
← →
DevilDevil © (2007-11-23 14:14) [17]> Сергей М. © (23.11.07 10:12) [16]
секундочку...
а кто говорил о сторонних приложениях ?
← →
Сергей М. © (2007-11-23 14:17) [18]
> кто говорил о сторонних приложениях ?
Никто не говорил.
PE-модуль - это не обязательно модуль приложения, это м.б. и модуль некоей библиотеки.
← →
Сергей М. © (2007-11-23 14:19) [19]Ты вообще что сотворяешь-то ? Систему протоколирования "глюков" своего приложения, которое ты впарил "заказчику"?)
← →
DevilDevil © (2007-11-23 14:55) [20]> Сергей М. © (23.11.07 14:19) [19]
> Ты вообще что сотворяешь-то ? Систему протоколирования "глюков"
> своего приложения, которое ты впарил "заказчику"?)
хе-хе...
я бы сказал "Систему протоколирования глюков для своего разрабатываемого приложения, которое я впарю заказчику"
← →
Сергей М. © (2007-11-23 15:25) [21]
> DevilDevil © (23.11.07 14:55) [20]
Хнёй ты занялся, скажу я тебе)
Достаточно получить строку с дословным сообщением об исключении)
← →
DevilDevil © (2007-11-24 14:54) [22]> Сергей М. © (23.11.07 15:25) [21]
НЕДОСТАТОЧНО !!!
← →
Германн © (2007-11-24 19:49) [23]
> DevilDevil © (24.11.07 14:54) [22]
Ну раз недостаточно (а порой действительно так), то потрать $99 на Еуреку и не пожалеешь.
← →
DevilDevil (2007-11-25 00:03) [24]> Германн © (24.11.07 19:49) [23]
что это такое и какой функционал ?
← →
Германн © (2007-11-25 00:16) [25]
> что это такое и какой функционал ?
>
http://www.eurekalog.com/tutorials.php
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.006 c