Я видел документ здесь http://www.codeproject.com/Articles/3472/Finding-crash-information-using-the-MAP-file. Этот пример касается сбоя в файле Windows? Я ищу ту же математику, которая была сделана здесь для сбоя, созданного в системах Linux. Если я столкнулся с сбоем в Linux, то как мне отладить проблему в аналогичных строках, таких как документ Microsoft http://www.codeproject.com/Articles/3472/Finding-crash-information-using-the-MAP-file. Пожалуйста помоги? Адрес загрузки и адрес сегмента кода одинаковы в Linux? что указано в Linux, как указано в ссылке «Первая часть двоичного файла - это Portable Executable (PE) длиной 0x1000 байтов».?Отладка с использованием файла C в Linux?
ответ
PE - это формат окна. Linux использует ELF. Конечно, вы можете разобрать ELF вручную, но вы не должны - gdb может это сделать для вас. Более того, вы можете использовать утилиту addr2line для сопоставления адреса в файл/строку в исходном коде (конечно, для обоих из них потребуется отладочная сборка).
Файлы карт редко используются в Linux - обычно это часть исполняемого файла debug. Однако он может быть сброшен из сборки отладки, но он не имеет слишком большого практического значения.
Кроме того, обратите внимание на How to use addr2line command in linux
Скажем, у меня большой стек программного обеспечения. Драйвер приходит от одной компании, промежуточного программного обеспечения от одного и приложения от другого. Теперь, скажем, компания-разработчик разделила информацию об отладке, а затем как я могу найти сбой в своем модуле. Я получаю крах с некоторым значением адреса и символом ??. Это можно решить, только если у меня есть файл карты. –
«Отладочная информация удалена» означает, что у вас нет файла карты, поэтому для вас нет символа, только адрес. Просьба уточнить, что у вас есть и чего вы хотите достичь. – keltar
Итак, на ваш взгляд, нет способа узнать о сбое в варианте сборки релиза, который не имеет отладочных символов? –
- 1. Отладка файла Python в Linux
- 2. Отладка Firebreath с использованием gdb в Linux
- 3. Отладка в Linux с использованием ядровых дампов
- 4. Отладка приложения в Linux
- 5. Отладка с использованием флагов makefile в C
- 6. Отладка в c для файла журнала
- 7. Чтение файла .log с использованием языка C в Linux
- 8. копия файла с использованием c в debian linux
- 9. Установить владельца файла: группа в Linux с использованием Qt/C++
- 10. Отладка модуля в Linux
- 11. Передача файла с использованием TCP в Linux
- 12. Отладка процесса Linux с suid
- 13. Отладка процесса Linux демон, написанный на C
- 14. C++ Eclipse: отладка с optirun/primusrun в Linux
- 15. Строка по строке c - C++ отладка кода в Linux ubuntu
- 16. многоуровневая отладка с использованием макросов препроцессора c
- 17. Отладка исходного кода на C++ с интерфейсом GUI с использованием Netbeans в Linux
- 18. Отладка командной строки в Linux
- 19. Отладка 100% проблемы с iowait в linux
- 20. Отладка файла ELF
- 21. md5sum файла в Linux C
- 22. Отладка программирования сокетов Linux?
- 23. Отладка с использованием Xcode
- 24. Отладка с использованием таймера
- 25. Отладка FileQueueError с использованием Swfupload
- 26. Отладка TypeScript на Linux
- 27. Zero RAM с использованием C в Linux
- 28. Отладка с использованием GDB
- 29. Отладка Linux Kernel
- 30. Отладка Python с использованием pdb
Скажем, у меня есть большой стек программного обеспечения. Драйвер приходит от одной компании, промежуточного программного обеспечения от другого и приложения от другого. Теперь, скажем, компания-разработчик разделила информацию об отладке, а затем как я могу найти сбой в своем модуле. Я получаю крах с некоторым значением адреса и символом ??. Это можно решить, только если у меня есть файл карты. Правильно?? Вопрос связан с такими сценариями, имеющими в виду. –