Pytania otagowane jako debugging

to proces znajdowania i zmniejszania liczby błędów lub defektów w programie komputerowym, dzięki czemu zachowuje się on zgodnie z oczekiwaniami


2
Czy gdb może debugować programy typu suid root?
Napisałem program, który wzywa setuid(0)i execve("/bin/bash",NULL,NULL). Potem zrobiłem chown root:root a.out && chmod +s a.out Kiedy wykonuję ./a.out, otrzymuję powłokę roota. Jednak gdy to zrobię gdb a.out, proces zaczyna się jak zwykły użytkownik i uruchamia powłokę użytkownika. Więc ... czy mogę debugować program root setuid?
16 debugging  setuid  gdb 

4
Jak mogę debugować problem z zawieszeniem pamięci RAM w systemie Linux?
Mam nadzieję uzyskać sugestie oparte na doświadczeniu, jak przejść do debugowania problemu zawieszenia do pamięci RAM. Porady specyficzne dla mojej sytuacji (wyszczególnione poniżej) byłyby świetne, ale interesują mnie również ogólne porady dotyczące rozwiązywania takich problemów. Problem: Często, gdy próbuję zawiesić maszynę, utknie ona w stanie „nie zawieszony, ale nie przebudzony”. …

2
śledzenie wywołań biblioteki
Znam strace, które jest bardzo przydatne do oglądania wywołań systemowych. Czy istnieje odpowiednik, który może śledzić połączenia z bibliotekami zewnętrznymi? Na przykład próbuję debugować pewne nieprawidłowe zachowanie SSLeay za pomocą pliku binarnego innej firmy, dla którego nie mogę uzyskać dostępu do kodu (i kto nie odpowiada). Wydaje mi się, że …

1
Jak sprawić, aby gdb nie pytał mnie „y or n”?
Kiedy używam polecenia GDB add-symbol-filedo załadowania symbolu, GDB zawsze pyta mnie „y lub n”, jak poniżej: gdb> add-symbol-file mydrv.ko 0xa0070000 add symbol table from file "mydrv.ko" at .text_addr = 0xa0070000 (y or n) Jak sprawić, by nie pytał i wykonywał po cichu?
14 debugging  gdb 

2
Czy istnieje sposób, aby skrypt powłoki wiedział, który program go wykonał?
Czy w świecie * nix istnieje sposób, aby skrypt powłoki zawierał informacje o tym, który program go wykonał? Przykład: /path/to/script1 /path/to/script_xyz w tym urojonym scenariuszu script_xyzmiałby informacje o ścieżce ( /path/to/script1) lub proces PID podmiotu, który go wykonał. Uwaga: jestem ciekawy różnych rozwiązań i podejść, nie spodziewam się, że to …


2
Jak pasywnie przechwytywać z gniazd domeny Unix (monitorowanie gniazd AF_UNIX)?
Przechwytywanie TCP / IP i UDP może być wykonane przy użyciu tcpdump/ dumpcapi tworzy plik pcap / pcapng, który można przekazać do Wireshark w celu dalszej analizy. Czy istnieje podobne narzędzie dla nazwanych gniazd domeny Unix? (Ogólne rozwiązanie, które działa dla gniazd abstrakcyjnych, również byłoby fajne.) straceponieważ-nie jest wystarczające, filtrowanie …

3
Czy można zastosować wbudowane polecenia w Bash?
Zainspirowany tym pytaniem, zatytułowanym: Kiedy wbudowane polecenia są ładowane do pamięci , próbując na nie odpowiedzieć, wypróbowałem następujące polecenie i byłem nieco zaskoczony, że nie mogłem go uruchomić: $ strace cd $HOME Czy istnieje metoda, za pomocą której mogę uruchomić strace dla wbudowanych poleceń Bash?
13 bash  debugging  strace 

2
Odpowiednik „truss-T” i „truss -U” w systemie Linux?
Czy istnieje odpowiednik działania -Ti -Uopcji trussnarzędzia Solaris w systemie Linux. Służą one do określenia funkcji systemowej ( -T) lub funkcji bibliotecznej ( -U), która wywołana przez śledzoną aplikację spowoduje jej zatrzymanie. Lub, inaczej mówiąc, chciałbym, aby każdy proces uruchamiany przez śledzoną aplikację został zatrzymany (tak jakby został zabity przez …

2
Zrzuć rdzeń procesu bez zabijania procesu
Czy istnieje sposób na uzyskanie zrzutu podstawowego (lub czegoś podobnego) dla procesu bez faktycznego zabijania procesów? Mam wielowątkowy proces Pythona działający w systemie osadzonym. I chcę być w stanie uzyskać migawkę procesu w normalnych warunkach (tj. Z innymi procesami wymaganymi do uruchomienia), ale nie mam wystarczającej ilości pamięci, aby połączyć …

3
Jak możemy prześledzić problemy z awariami programów w systemie Linux?
Jeśli aplikacja ulegnie awarii w systemie Windows, możemy sprawdzić Podgląd zdarzeń w narzędziach administracyjnych, aby zobaczyć, co się zawiesiło. Czasami zawiera przydatne informacje, których inni nie, ale to dopiero początek. W Linuksie, jeśli aplikacja (jakakolwiek) ulega awarii, gdy zaczyna się śledzić, co się stało? Czy istnieje np. Jakiś dziennik centralny …

1
Błąd BIOS ACPI / AE_NOT_FOUND
Otrzymuję te komunikaty o błędach za każdym razem, gdy ponownie uruchamiam komputer (i kilka innych nie wiem, jak zachować, gdy się wyłącza, ale jak dotąd nie dotyczą one tego pytania): [gorre@uplink ~]$ journalctl -p err..alert ... -- Reboot -- May 11 21:47:03 uplink kernel: ACPI BIOS Error (bug): Failure looking …


2
Gdzie jest plik dziennika włóczęgi?
Próbuję debugować problem związany z włóczęgą lub VirtualBoxem (zobacz taiga-włóczęga nie zapewnia działającego środowiska tajgi # 21 ). Polecenie VAGRANT_LOG=debug vagrant up --debugdrukuje wiele, prawdopodobnie przydatnych informacji. Gdzie jest jednak przechowywany ten dziennik? Edycja: VAGRANT_LOG=debug vagrant up jest w rzeczywistości taki sam jak vagrant up --debug. Pracuję na / z: …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.