Witam,
napisałem klasę wyjątku ze stacktracem (boost::stacktrace) do projektu w C++ na WinAPI. Działa w release dopóki plik wykonywalny jest w katalogu razem z wygenerowanym plikiem .pdb. Jeśli przeniosę plik wykonywalny do innego katalogu (gdzie nie ma .pdb), stacktrace staje się nieczytelny:
0# 0x00007FF781D046EC in Wiadomosc
1# 0x00007FF781D03FB0 in Wiadomosc
2# 0x00007FF781D043A8 in Wiadomosc
3# 0x00007FF781D114CA in Wiadomosc
4# BaseThreadInitThunk in KERNEL32
5# RtlUserThreadStart in ntdll
Problem jest taki, że zależy mi żeby plik wykonywalny nie potrzebował innych plików do poprawnego funkcjonowania, więc nie mogę deployować z tym .pdb.
Czy da się jakoś zamienić te adresy na nazwy funkcji dysponując kodem źródłowym albo użyć innej biblioteki do stacktracea żeby to działało?
Nie znam się dobrze na tym, więc niewykluczone, że jest to niemożliwe do osiągnięcia...