Мне нужно распечатать стек вызовов в файле журнала в запущенной программе (на C), так как мне нужно проверить поток, Мне нужно отправить трассы в другую среду, а я не может отлаживаться. Есть ли способ сделать это в C.Нужно написать стек вызовов в запущенной программе в C
-3
A
ответ
1
Если платформа является linux (и я верю в OSX тоже), вы можете использовать backtrace и backtrace_symbols для достижения желаемого.
Согласно разделу ноток backtrace
Имена символов могут быть недоступны без использования специального линкера опций. Для систем, использующих GNU-компоновщик, необходимо использовать опцию . Обратите внимание, что имена «статических» функций не отображаются и не будут доступны в обратном направлении.
Смежные вопросы
- 1. Моно C к запущенной программе C#
- 2. Трассировка стека в запущенной программе (эквивалент pstack в Windows)
- 3. поделитесь экземпляром через стек вызовов в C#
- 4. Расширить стек вызовов на диск в C++?
- 5. Неуправляемый стек вызовов в приложении C#
- 6. Как изменить переменные в запущенной программе?
- 7. Сканирование изображений в программе C#, запущенной в Windows XP
- 8. подсчет количества вызовов функций в программе C
- 9. Код C/C++, который повреждает стек вызовов
- 10. Подождите одну секунду в запущенной программе
- 11. Параллельный вопрос о программе, запущенной в ОС
- 12. Как подсчитать фактическое количество операций в запущенной программе на C++?
- 13. Макс. Стек вызовов превышен
- 14. Нужно написать Parser в C++
- 15. Как лучше нарисовать стек вызовов в C/C++?
- 16. jQuery стек вызовов?
- 17. Как читать стек вызовов?
- 18. Как написать в стек другого стека в C/C++?
- 19. Получить стек вызовов метода приложения C#
- 20. Как определить свободную память в программе, запущенной в Linux?
- 21. Как получить стек вызовов в c в окнах?
- 22. C++ получить стек вызовов из std :: exception
- 23. Как проверить стек вызовов
- 24. Циклы и стек вызовов
- 25. Максимальный стек вызовов превышен
- 26. Очистить JavaScript стек вызовов
- 27. Превышен максимальный стек вызовов
- 28. Xcode стек вызовов
- 29. Рекурсия в схеме и стек вызовов
- 30. Перейдите в стек вызовов функций в gdb
Вы не предоставили здесь никакой информации, которая может быть использована, чтобы помочь, и ничего не задавала. Не зная, какую ОС и компилятор вы используете, информации нет. Как вы это сформулировали, ответ «Да, есть способ сделать это на C» или «Нет, нет возможности сделать это на C», это приемлемые ответы, которые, очевидно, не были бы полезны. Если вам нужна помощь здесь, вам нужно быть более конкретным о том, что вы просите, и предоставить дополнительную информацию о том, какую среду вы используете. В [FAQ] (http://stackoverflow.com/faq) есть несколько советов о том, как задавать лучшие вопросы. –
[Возможный дубликат] (http://stackoverflow.com/q/2281739/968261). –