![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
klimrmad |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 19.6.2007 Репутация: нет Всего: нет |
Как мне из некоей функции foo() узнать, какая из моих-же функций произвела ее вызов?
Разумеется без передачи ее имени в виде параметра =) Нужно для более точного документирования ошибок. Сейчас в лог пишется "ошибка в ф-ии foo()", а вызывается она из сотни мест. |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
смотреть call-stack. задача для начинающих непростая, посему можно воспользоваться какими-либо готовыми компонентами(конкретика зависит от используемого компилятора) или попробовать разобраться в библиотеке Debug Help Library(конкретнее - StackWalk64).
|
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 8 Всего: 154 |
В Debug Help Library есть ф-я MiniDumpWriteDump, которая сохраняет в файл состояние стека, регистры и тд, потом его можно открыть студией и посмотреть где программа упала, так-же как если-бы она работала под отладчиком.
|
|||
|
||||
klimrmad |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 19.6.2007 Репутация: нет Всего: нет |
Я не говорил что я начинающий =)
Спасибо, то что надо. зы: В MSDN в каментах к StackWalk64 есть ссылка на рабочий пример реализации: http://www.codeproject.com/threads/StackWalker.asp Это сообщение отредактировал(а) klimrmad - 18.10.2007, 10:09 |
|||
|
||||
nanoo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 19.10.2007 Репутация: нет Всего: нет |
под линуксом strace. much more easy.
![]() |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 7 Всего: 118 |
но имя впринципе не имея отладочной инфы и\или имен функций прописанных гдето и\или исходников не узнать..
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |