|
|
|
Генерирование отладочной информации для MSVC
|
|||
|---|---|---|---|
|
#18+
Есть очень хитропокрученный проект. В exe файле создается In-process COM объект, который в свою очередь создает Out-process COM объект Out-process COM объект написан на MSVC и скомпилирован под 64 битную платформу. exe и InProcess объект скомпилированы на Delphi 10.3 под 32 битную платформу. Проблема: при определенных действиях процесс, который запускается для внешнего объекта падает. В системном логе при этом появляется сообщение Имя сбойного приложения: OutCom.exe, версия: 1.0.0.1, метка времени: 0x605378e7 Имя сбойного модуля: OutCom.exe, версия: 1.0.0.1, метка времени: 0x605378e7 Код исключения: 0xc0000005 Смещение ошибки: 0x0000000000580fcd Но когда я пытаюсь запустить отладку под MSVC, то отладчик говорит, что 0xc0000005 уже происходит в делфийском объекте и показывает мне дизасемблированный код. Я пытался по этой инструкции сгенерировать pdb файл для делфийского объекта. Файлы создаются, но ни dbg, ни pdb файлы MSVC не загружает. При ручной загрузке появляется сообщениеA matching symbol file was not found in this folder Никто не подскажет, как получить перевариваемую debug info для MSVC? tds2dbg дает тот же результат. tds2pdb при попытке создания файла выдает ошибку парсинга at Program.ParseTds(FileStream stm) at Program.Main(String[] args) С уважением, Vasilisk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2021, 23:40 |
|
||
|
Генерирование отладочной информации для MSVC
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Самый продвинутый отладчик это WinDBG, ставится из WinSDK. Может последних версий и прожует вашу эрзац-pdb. Но он сложнее всей дельфы вместе взятой ( В конце концов, можно посмотреть на асм со стороны дебаггера и найти, где такая в Д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2021, 23:58 |
|
||
|
Генерирование отладочной информации для MSVC
|
|||
|---|---|---|---|
|
#18+
Siemargl Может последних версий и прожует вашу эрзац-pdb. Siemargl В конце концов, можно посмотреть на асм со стороны дебаггера и найти, где такая в Д. Конечная цель не найти конкретный баг - это как раз просто, а получить рабочий алгоритм для поиска любых багов (а их будет еще много). Сейчас приходится отлаживаться через MessageBox ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2021, 00:30 |
|
||
|
Генерирование отладочной информации для MSVC
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, VS это для кажуалов. Максимум можно получить только в WinDBG. Проблема с дебагинфо сугубо борландовская и прочих NIH. Вместо МсгБокс рекомендую стектрейс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2021, 00:38 |
|
||
|
Генерирование отладочной информации для MSVC
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Сейчас приходится отлаживаться через MessageBox ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2021, 10:40 |
|
||
|
Генерирование отладочной информации для MSVC
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Самый продвинутый отладчик это WinDBG ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2021, 10:42 |
|
||
|
Генерирование отладочной информации для MSVC
|
|||
|---|---|---|---|
|
#18+
Вот тут чел пытается сгенерить pdb для дельфей, там какая-то совсем суровая магия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2021, 12:51 |
|
||
|
Генерирование отладочной информации для MSVC
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Порылся тут немного из интереса. Нашел страничку на Еврике И с нее есть ссылка на обновленный tds2pdb с исходниками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2021, 16:54 |
|
||
|
Генерирование отладочной информации для MSVC
|
|||
|---|---|---|---|
|
#18+
Barmaley57 _Vasilisk_ Самый продвинутый отладчик это WinDBG ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2021, 16:57 |
|
||
|
Генерирование отладочной информации для MSVC
|
|||
|---|---|---|---|
|
#18+
На 64-битах всё тухло. Не взлетит . На 32-битах - можно. Можно попробовать старые версии продуктов MS, которые нормально поддерживали DBG + правки вон по той ссылке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2021, 19:45 |
|
||
|
Генерирование отладочной информации для MSVC
|
|||
|---|---|---|---|
|
#18+
GunSmoker На 32-битах - можно ЗЫ. А Эмбаркадера вообще не двигается в сторону генерирования debug info, которую будут понимать все? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2021, 19:59 |
|
||
|
Генерирование отладочной информации для MSVC
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Имя сбойного модуля: OutCom.exe, версия: 1.0.0.1, метка времени: 0x605378e7 Код исключения: 0xc0000005 Смещение ошибки: 0x0000000000580fcd Но когда я пытаюсь запустить отладку под MSVC, то отладчик говорит, что 0xc0000005 уже происходит в делфийском объекте и показывает мне дизасемблированный код. Сообщение об ошибке может называть неправильное имя модуля только в одном случае: выполняется код библиотеки, которая уже выгружена. OutCom чей? В любом случае проще всего будет взять сообщение отладчика с ассемблером и стэком вызовов, а потом долго сопоставлять их с map-файлом, сгенерированным Delphi. PS: Теоретически можно напустить на это зоопарк DrMemory, но восстанавливать соответствие адресов строкам всё равно придётся по map. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2021, 20:09 |
|
||
|
Генерирование отладочной информации для MSVC
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov OutCom чей? Dimitry Sibiryakov В любом случае проще всего будет взять сообщение отладчика с ассемблером и стэком вызовов, а потом долго сопоставлять их с map-файлом, сгенерированным Delphi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2021, 19:08 |
|
||
|
Генерирование отладочной информации для MSVC
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Мой. Это Си++ Com сервер Вот и чудненько, значит DrMemory на него должен сработать идеально. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2021, 19:24 |
|
||
|
Генерирование отладочной информации для MSVC
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ У меня делфевые приложения 32 битные Сейчас вспомнил, что мне тоже не удалось заставить Visual Studio работать с Delphi. Process Explorer - пожалуйста, но не VS. Что-то ей не нравится. И вроде на StackOverflow такой вопрос был, но не могу найти. Думаю, можно сделать так - сгенерируй .dbg, отлаживайся в VS, остановись на исключении, потом запускай Process Explorer (или Threads Snapshot, тогда .dbg не нужен) и смотри стек в запаузенном процессе (можно его возобновить, когда снапшот начал сниматься). Как вариант - в Delphi можно EurekaLog добавить, а в ней включить run-time logging , тогда она в CodeSite лог скинет всё, что происходит в exe (что касается исключений). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2021, 14:12 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=23&tid=2037481]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 404ms |

| 0 / 0 |
