Jak utworzyć przydatne śledzenie wsteczne w systemie Linux
Objawy
Podczas pracy na Linuksie czasami może się zdarzyć, że BricsCAD nagle się zawiesi i zniknie.
Podczas uruchamiania BricsCAD z terminala wyświetlany jest krótki komunikat o błędzie (często będzie to "Błąd segmentacji"), ale nie dostarcza to pomocnych informacji o tym, dlaczego dochodzi do awarii.
Od wersji BricsCAD V24.2, w przypadku awarii (błąd segmentacji), aplikacja generuje crash_report.txt, który zawiera informacje diagnostyczne, w tym ślad wsteczny.
W takim przypadku ślad wsteczny (ślad stosu) staje się bardzo przydatny dla zespołu pomocy technicznej w celu zidentyfikowania przyczyny awarii. Pokazuje bieżący stos zagnieżdżonych wywołań funkcji w momencie awarii.
Przyczyna
BricsCAD ulega awarii bez przydatnych informacji o awarii.
Rozwiązanie
- W instancji Terminala uruchom BricsCAD wewnątrz gdb za pomocą następującego polecenia:
LD_LIBRARY_PATH=/opt/bricsys/bricscad/vXX GDK_BACKEND=x11 QT_QPA_PLATFORM=xcb gdb
/opt/bricsys/bricscad/vXX/bricscad
Uwaga: vXX zostanie zastąpiony głównym numerem wersji BricsCAD, na przykład V25. - W oknie wpisz uruchom i naciśnij Enter , aby uruchomić program.
- Odtwórz awarię. Po awarii okno BricsCAD po prostu zawiesza się, ale nie znika.
- Przełącz się z powrotem do terminala, wpisz bt i naciśnij Enter , aby uzyskać ślad wsteczny.
Jeśli bt nie działa, oznacza to, że BricsCAD może się zawieszać, a nie zawieszać. W takim przypadku naciśnij CTRL+C , aby wstrzymać BricsCAD, a następnie bt powinno działać.
Podobnie jak w przypadku bt, uruchom polecenie gdb disas i wklej dane wyjściowe do tego samego pliku tekstowego.
Pełny ślad wsteczny może nie pasować do ekranu. W takim przypadku ostatni wiersz brzmi następująco:---Wpisz < return >, aby kontynuować, lub q < return > aby zakończyć---
- Skopiuj odpowiednią część śladu wstecznego do edytora tekstu i dołącz ją do wniosku o pomoc techniczną lub opublikuj bezpośrednio w żądaniu pomocy technicznej.
- Wpisz q i naciśnij Enter w oknie Terminala.
- Wpisz y i naciśnij Enter , aby potwierdzić.