«debugging» etiketlenmiş sorular

bir bilgisayar programındaki hataların veya kusurların sayısını bulma ve azaltma, böylece beklendiği gibi davranma işlemidir

1
Komut dosyalarında hata ayıklama, -x ile set -euxo pipefail arasındaki fark nedir?
Senaryoları hata ayıklamak için bildiğim ana yolu -xshabang ( #!/bin/bash -x) eklemek . Geçenlerde set -euxo pipefailolduğu gibi, shabang altına ekleyerek yeni bir yolla karşılaştım: #!/bin/bash set -euxo pipefail Hata ayıklamanın iki yolu arasındaki temel fark nedir? Birini diğerinin üzerinde tercih edeceğiniz zamanlar var mı? Birinci sınıf öğrencisi olarak, burada …

2
GDB, kök programlarda hata ayıklayabilir mi?
Ben aramalar bir program yazdım setuid(0)ve execve("/bin/bash",NULL,NULL). Sonra yaptım chown root:root a.out && chmod +s a.out Yürüttüğümde ./a.outbir kök kabuk alıyorum. Ancak bunu yaptığımda gdb a.out, işlemi normal kullanıcı olarak başlatır ve bir kullanıcı kabuğunu başlatır. Yani ... bir setuid kök programında hata ayıklayabilir miyim?
16 debugging  setuid  gdb 

4
Linux'ta RAM'i Askıya Al sorununu nasıl ayıklayabilirim?
RAM askıya alma sorununu nasıl ayıklayacağınız konusunda deneyime dayalı öneriler almayı umuyorum. Durumuma özel tavsiyeler (aşağıda ayrıntılı olarak açıklanmıştır) harika olurdu, ancak aynı zamanda bu tür sorunların nasıl ayıklanacağı hakkında genel tavsiyelerle ilgileniyorum. Sorun: Genellikle, makinemi askıya almaya çalıştığımda, "askıya alınmamış, ancak uyanık değil" durumunda sıkışır. Genellikle ekran tamamen siyah …

2
kütüphane çağrıları
Sistem çağrılarını izlemek için süper kullanışlı olan strace'yi biliyorum. Harici kütüphanelere yapılan çağrıları izleyebilen bir eşdeğeri var mı? Örneğin, bazı SSLeay hatalı davranışları için koduna erişemediğim üçüncü taraf bir ikili dosyada hata ayıklamaya çalışıyorum (ve kimin geliştiricisi yanıt vermiyor). Sorunu çivilediğime inanıyorum, ancak imza kontrol edilen verilerin SSLeay'ye gönderilmek üzere …

1
Nasıl gdb bana "y ya da n" sormak değil yapmak?
add-symbol-fileSembolü yüklemek için GDB komutunu kullandığımda , GDB her zaman bana 'y veya n' soruyor, şöyle: gdb> add-symbol-file mydrv.ko 0xa0070000 add symbol table from file "mydrv.ko" at .text_addr = 0xa0070000 (y or n) Sessizce sorma ve yürütme nasıl yapılır?
14 debugging  gdb 

2
Kabuk betiğinin hangi programın çalıştığını bilmesi için bir yol var mı?
* Nix dünyasında, kabuk betiğinin hangi programın yürüttüğü hakkında bilgi edinmenin bir yolu var mı? Misal: /path/to/script1 /path/to/script_xyz bu hayali senaryoda, script_xyzyol bilgisi ( /path/to/script1) olurdu veya süreç PID uygulayan varlık. Not: Farklı çözümler ve yaklaşımlar merak ediyorum, tam olarak bunun mümkün olmasını beklemiyorum

2
Çekirdek alanında sabit disk yazmayı gözlemleme (sürücüler / modüller ile)
Bu yazı biraz yoğun / dağınıksa önceden özür dilerim, ama daha iyi formüle etmekte zorlanıyorum ... Temel olarak, bir sabit disk yazma üzerine neler olduğunu incelemek istiyorum ve bilmek istiyorum: Aşağıdaki anlayışım doğru mu - değilse, nerede yanlış gidiyorum? Bir disk yazma sırasında, bilgisayarda meydana gelen tüm yönler hakkında günlük …


3
Yerleşik komutları Bash'e bağlamak mümkün mü?
Bu sorudan esinlenerek, başlıklı: Yerleşik komutlar belleğe yüklendiğinde , bunu cevaplamaya çalışırken aşağıdaki komutu denedim ve çalıştıramadığım için biraz şaşırdım: $ strace cd $HOME Bash için yerleşik komutlar için strace çalıştırmak için kullanabileceğim bir yöntem var mı?
13 bash  debugging  strace 

2
Linux'taki “truss -T” ve “truss -U” nun eşdeğeri mi?
Solaris yardımcı programının -Tve -Useçeneğinin trussLinux'ta yaptıklarına eşdeğer bir şey var mı ? Bunlar , izlenen uygulama tarafından çağrıldığında durmasına neden olacak bir sistem çağrısı ( -T) veya kütüphane işlevi ( -U) belirtmelidir . Ya da, aksi takdirde, izlenen bir uygulama tarafından başlatılan herhangi bir işlemin (SIGSTOP tarafından öldürülmüş gibi) …

2
Süreci öldürmeden proses çekirdeğini boşaltın
İşlemleri gerçekten öldürmeden bir süreç için çekirdek dökümü (veya benzer bir şey) almanın bir yolu var mı? Gömülü bir sistemde çalışan bir çok iş parçacıklı python işlemi var. Ve normal koşullar altında (yani çalışması gereken diğer işlemler ile) sürecin bir anlık görüntü almak istiyorum, ama python işlemi olmadan gdb bağlamak …

3
Linux'ta çökme programlarının sorunlarını nasıl izleyebiliriz?
Bir uygulama Windows'da kilitleniyorsa, neyin kilitlendiğini görmek için Yönetim araçlarındaki Olay Görüntüleyicisi'ni kontrol edebiliriz. Bazen başkalarının yararlı olmayan bilgileri vardır, ancak bir başlangıçtır. Linux'ta bir uygulama (herhangi biri) çökerse ne olduğunu nasıl izlemeye başlar? Örneğin merkezi bir kütük veya benzeri bir şey var mı?

1
ACPI BIOS Hatası / AE_NOT_FOUND
Bu hata mesajlarını her seferinde masaüstümü yeniden başlattığımda alıyorum (ve birkaç tane daha kapandığında nasıl saklayacağımı bilmiyorum, ancak bunlar şu ana kadar ilgili değil): [gorre@uplink ~]$ journalctl -p err..alert ... -- Reboot -- May 11 21:47:03 uplink kernel: ACPI BIOS Error (bug): Failure looking up [\_SB.PCI0.RP04.PXSX._SB.PCI0.RP05.PXSX], AE_NOT_FOUND (20180105/dswload2-194) May 11 …


2
Vagrant'ın günlük dosyası nerede?
Ben bir vagrant- veya VirtualBox ile ilgili bir sorun hata ayıklama çalışıyorum (bkz. Tayga -vagrant çalışan bir Tayga ortamı # 21 sağlamak için başarısız ). Komut VAGRANT_LOG=debug vagrant up --debugmuhtemelen birçok yararlı bilgi yazdırır. Ancak bu günlük nerede saklanır? Düzenleme: VAGRANT_LOG=debug vagrant up aslında ile aynıdır vagrant up --debug. Üzerinde …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.