Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen winedbg-development komutudur.
Program:
ADI
winedbg - Şarap hata ayıklayıcı
SİNOPSİS
şarap bg [ seçenekleri ] [ program adı [ program_arguments ] | wpid ]
şarap bg --gdb [ seçenekleri ] [ program adı [ program_arguments ] | wpid ]
şarap bg --Oto wpid
şarap bg -- mini döküm [ dosya.mdmp ] wpid
şarap bg dosya.mdmp
TANIM
şarap bg Wine için bir hata ayıklayıcıdır. İzin veriyor:
+ yerel Win32 uygulamalarında hata ayıklama
+ Winelib uygulamalarında hata ayıklama
+ Dr Watson'ın yerini almak
MODLARI
şarap bg beş modda kullanılabilir. Programın ilk argümanı modu belirler
winedbg devreye girecek.
varsayılan
Herhangi bir açık mod olmadan, bu standarttır şarap bg çalışma modu. şarap bg irade
kullanıcı için ön uç görevi görür.
--gdb şarap bg vekil olarak kullanılacak gdb. gdb komut için ön uç olacak
işleme ve şarap bg gelen tüm hata ayıklama isteklerini proxy yapacak gdb Win32 API'lerine.
--Oto Bu mod şu durumlarda kullanılır: şarap bg kuruldu Hata Ayıklama varsayılan olarak kayıt defteri girdisi
ayıklayıcı. şarap bg daha sonra bir çökmeyle ilgili temel bilgileri görüntüler. Bu kullanışlı
bir çökmede hata ayıklamak istemeyen, bunun yerine ilgili bilgileri toplamak isteyen kullanıcılar için
geliştiricilere gönderilecek çökme hakkında.
-- mini döküm
Bu mod şuna benzer: --Oto bir, bunun dışında yazdırmak yerine
ekrandaki bilgiler ( --Oto yapar), bir mini döküm dosyasına kaydedilir. NS
dosyanın adı komut satırından geçirilir veya tarafından oluşturulur. ŞarapDbg ne zaman
hiçbiri verilmez. Bu dosya daha sonra yeniden yüklenebilir. şarap bg daha fazlası için
sınav.
dosya.mdmp
Bu modda şarap bg içine kaydedilmiş bir hata ayıklayıcının durumunu yeniden yükler.
minidump dosyası Bkz. minidump aşağıdaki komut veya -- mini döküm kip.
SEÇENEKLER
Içinde olduğunda varsayılan modunda, aşağıdaki seçenekler mevcuttur:
--emretmek dizi
şarap bg komutu yürütecek dizi sanki winedbg komut satırında tuşlanmış gibi,
ve sonra çıkacaktır. Bu, çalışan süreçlerin pid'ini almak için kullanışlı olabilir
(winedbg --komut "bilgi proc").
--dosya Dosya
şarap bg dosya adında bulunan komutların listesini sanki onlarmış gibi yürütür.
winedbg komut satırına girildi ve ardından çıkılacak.
Içinde olduğunda gdb proxy modu, aşağıdaki seçenekler mevcuttur:
--başlangıç yok
gdb otomatik olarak başlatılmayacaktır. Başlangıç için ilgili bilgiler gdb is
ekrana yazdırılır. Bu, doğrudan kullanılmadığında bir şekilde yararlıdır gdb ama bazıları
gibi grafik ön uçlar ddd or kgbd.
--xterm ile
Bu çalışacak gdb için geçerli Unix konsolunu kullanmak yerine kendi xterm'inde
metinsel gösterim.
Tüm modlarda, komut satırının geri kalanı, geçtiğinde, hangisinin hangisi olduğunu belirlemek için kullanılır.
varsa, programların hata ayıklaması gerekir:
program adı
Bu, bir hata ayıklama oturumu başlatmak için yürütülebilir dosyanın adıdır. şarap bg irade
aslında bu yürütülebilir dosyayla bir süreç oluşturun. Eğer programlar_arguments de vardır
verildiğinde, hata ayıklanacak işlemi oluşturmak için argümanlar olarak kullanılacaktır.
wpid şarap bg Windows pid'in olduğu sürece eklenecek wpid. Kullan bilgi proc
içinde komut şarap bg çalışan işlemleri ve Windows şifrelerini listelemek için.
varsayılan
Hiçbir şey belirtilmezse, hata ayıklayıcıya herhangi bir çalıştırma veya eklenme olmadan girersiniz.
işlem. İşi kendin yapmak zorunda kalacaksın.
KOMUTLAR
Varsayılan modunda ve süre yeniden a minidump Dosya:
Kullanılan komutların çoğu şarap bg gelenlere benzer gdb. Lütfen bakın gdb
bazı daha fazla ayrıntı için belgeler. Bkz. gdb farklılıkları bölüm daha sonra almak için
varyasyonların listesi gdb emreder.
Misc. komutlar
iptal etmek Hata ayıklayıcıyı iptal eder.
çıkmak Hata ayıklayıcıdan çıkar.
iliştirmek N
Bir Şarap işlemine ekleyin (N Windows kimliği, sayısal veya onaltılık). kimlikler olabilir
kullanılarak elde edilen bilgi süreç emretmek. not edin bilgi süreç komut döner
onaltılık değerler
DETACH Bir Şarap sürecinden ayırın.
Destek komutlar
yardım et Komutlara bazı yardımlar yazdırır.
yardım et bilgi
Bilgi komutları hakkında biraz yardım yazdırır
akış kontrol komutlar
hesap Bir sonraki kesme noktasına veya özel duruma kadar yürütmeye devam edin.
geçmek İstisna olayını filtre zincirine iletin.
adım Bir sonraki C kod satırına kadar yürütmeye devam edin (işlev çağrısına girer)
sonraki Bir sonraki C kod satırına kadar yürütmeye devam edin (işlev çağrısına girmez)
üvey Sonraki montaj talimatını yürütün (işlev çağrısına girer)
sonraki Sonraki montaj talimatını yürütün (işlev çağrısına girmez)
bitiş Geçerli işlevin dönüşüne ulaşılana kadar yürütün.
hesap, adım, sonraki, üvey, sonraki bir sayı (N) ile sonradan eklenebilir, yani komut
kontrol kullanıcıya iade edilmeden önce N kez çalıştırılmalıdır.
kesme noktaları, izleme noktaları
etkinleştirmek N
(break|watch)-noktasını etkinleştirir N
Enable / Disable N
Devre dışı bırakır (break|watch)-noktası N
silmek N
Silme (kırma|izleme) noktası N
cond N (break|watch)-noktasına var olan herhangi bir koşulu kaldırır N
cond N İfade
koşul ekler İfade to (break|watch)-noktası N. İfade her seferinde değerlendirilecek
(break|watch)-noktası vuruldu. Sonuç bir sıfır değeriyse, kesme noktası
tetiklendi.
kırılma * N
Adrese bir kesme noktası ekler N
kırılma id
Sembolün adresine bir kesme noktası ekler id
kırılma id N
Satıra bir kesme noktası ekler N iç sembol id.
kırılma N
Satırda bir kesme noktası ekler N geçerli kaynak dosyanın
kırılma Geçerli bir kesme noktası ekler $PC adres.
izle * N
Adrese bir izleme komutu (yazma sırasında) ekler N (4 bayt üzerinde).
izle id
Sembolün adresine bir izleme komutu (yazarken) ekler id. Boyut, boyuta bağlıdır
of id.
saat * N
Adrese bir izleme komutu (okuma sırasında) ekler N (4 bayt üzerinde).
saat id
Sembolün adresine bir izleme komutu (okuma sırasında) ekler id. Boyut boyutuna bağlıdır
id.
bilgi kırılma
Tüm (break|watch) noktalarını (durumlarıyla birlikte) listeler.
sembolünü kullanabilirsin Giriş noktası Dll'nin giriş noktası için durmak.
Bir (mola|izle) noktası ayarlarken id, sembol bulunamazsa (örneğin,
sembolü henüz yüklenmemiş bir modülde bulunur), şarap bg adını hatırlatacak
sembolü ve her yeni modül yüklendiğinde kesme noktasını ayarlamaya çalışacaktır (tamamlanana kadar).
başarır).
Yığın manipülasyon
bt Geçerli iş parçacığının çağrı yığınını yazdırın.
bt N Kimlik dizisinin çağrı yığınını yazdır N. Not: bu, konumunu değiştirmez.
tarafından manipüle edilen geçerli çerçeve up & dn komutları).
up Geçerli iş parçacığı yığınında bir kare yukarı gider
up N Yükselir N geçerli iş parçacığı yığınındaki çerçeveler
dn Geçerli iş parçacığı yığınında bir kare aşağı gider
dn N İner N geçerli iş parçacığı yığınındaki çerçeveler
çerçeve N
Setler N geçerli iş parçacığı yığını için geçerli çerçeve olarak.
bilgi yerliler
Geçerli işlev çerçevesi için yerel değişkenler hakkında bilgi yazdırır.
rehber & kaynak dosya manipülasyon
şov dir
Kaynak dosyaların arandığı dizinlerin listesini yazdırır.
dir yol adı
Ekler yol adı kaynak dosyaların aranacağı dizinler listesine
dir Kaynak dosyaların aranacağı dizinlerin listesini siler
sembol dosyası yol adı
Harici sembol tanım dosyasını yükler yol adı
sembol dosyası yol adı N
Harici sembol tanım dosyasını yükler yol adı (bir ofset uygulayarak N için
adresleri)
liste Geçerli konumdan ileriye doğru 10 kaynak satırı listeler.
liste - Mevcut konumdan geriye doğru 10 kaynak satırı listeler
liste N Satırdan 10 kaynak satırı listeler N geçerli dosyada
liste yol adı:N
Satırdan 10 kaynak satırı listeler N dosyada yol adı
liste id
10 kaynak fonksiyon satırı listeler id
liste * N
Adresten 10 kaynak satırı listeler N
',' ayırıcısını kullanarak bitiş hedefini (10 satır değerini değiştirmek için) belirtebilirsiniz. İçin
örnek:
liste 123, 234
geçerli dosyada 123. satırdan 234. satıra kadar olan kaynak satırlarını listeler
liste foo.c:1,56
foo.c dosyasında 1. satırdan 56'ya kadar olan kaynak satırlarını listeler
görüntü
Görüntü, herhangi bir işlemin yürütülmesinden sonra değerlendirilen ve yazdırılan bir ifadedir. şarap bg
Komut.
ekran
bilgi ekran
Aktif ekranları listeler
ekran İfade
İfade için bir ekran ekler İfade
ekran /fmt İfade
İfade için bir ekran ekler İfade. Baskı değerlendirildi İfade verilenler kullanılarak yapılır
biçimi (bkz. baskı komuta formatlar hakkında daha fazla bilgi için)
del ekran N
görüntüleme N
Ekranı siler N
sökme
rahatsızlıklar Mevcut konumdan sökün
rahatsızlıklar İfade
Adresten sök İfade
rahatsızlıklar İfade,İfade
İki ifade tarafından belirtilen adresler arasındaki kodu demonte eder
Bellek (okuma, yazı, yazıyor)
x İfade Adresteki belleği inceler İfade
x /fmt İfade
Adresteki belleği inceler İfade formatı kullanma fmt
baskı İfade
değerini yazdırır İfade (muhtemelen türünü kullanarak)
baskı /fmt İfade
değerini yazdırır İfade (muhtemelen türünü kullanarak)
set var = İfade
değerini yazar İfade in var değişken
nedir İfade
C tipi ifadeyi yazdırır İfade
fmt ya mektup or saymak mektup, Burada mektup olabilir:
s bir ASCII dizesi
ua UTF16 Unicode dizesi
talimatları (sökün)
x 32 bit işaretsiz onaltılık tam sayı
d 32 bit işaretli ondalık tamsayı
w 16 bit işaretsiz onaltılık tamsayı
c karakteri (sadece yazdırılabilir 0x20-0x7f aslında yazdırılır)
b 8-bit işaretsiz onaltılık tam sayı
g Win32 GUID'i
İfadeler
Wine Debugger'daki ifadeler çoğunlukla C biçiminde yazılır. Ancak, birkaç tane var
tutarsızlıkları:
Tanımlayıcılar bir '!' alabilir adlarında. Bu, esas olarak bir modül belirtmeye izin verir
kimliğe nereden bakılacağı, örneğin KULLANICI32!CreateWindowExA.
Bir döküm işleminde, bir yapı veya birleşim belirtirken, yapıyı kullanmanız gerekir.
veya union anahtar sözcüğü (programınız typedef kullanıyor olsa bile).
Bir tanımlayıcı belirtilirken, bu ada sahip birkaç sembol varsa, hata ayıklayıcı
kullanmak istediğiniz sembolü isteyin. Numarasından istediğinizi alın.
Misc.
minidump dosya.mdmp hata ayıklayıcının hata ayıklama bağlamını adlı bir mini döküm dosyasına kaydeder.
dosya.mdmp.
Bilgi on Şarap iç organlar
bilgi sınıf
Wine'da kayıtlı tüm Windows sınıflarını listeler
bilgi sınıf id
Windows sınıfındaki bilgileri yazdırır id
bilgi pay
Hata ayıklanmış programa yüklenen tüm dinamik kitaplıkları listeler (.so dahil
dosyaları, NE ve PE DLL'leri)
bilgi pay N
Adresteki modüldeki bilgileri yazdırır N
bilgi regs
CPU kayıtlarının değerini yazdırır
bilgi tüm kayıtlar
CPU ve Kayan Nokta kayıtlarının değerini yazdırır
bilgi bölüm
Ayrılan tüm segmentleri listeler (yalnızca i386)
bilgi bölüm N
Segment üzerine bilgi yazdırır N (yalnızca i386)
bilgi yığın
Değerleri yığının üstüne yazdırır
bilgi harita
Hata ayıklanmış program tarafından kullanılan tüm sanal eşlemeleri listeler
bilgi harita N
Windows pid programı tarafından kullanılan tüm sanal eşlemeleri listeler N
bilgi ve
Masaüstü penceresinden başlayarak pencere hiyerarşisini görüntüler
bilgi ve N
Tutamaç penceresinin bilgilerini yazdırır N
bilgi süreç
Wine oturumundaki tüm w-süreçlerini listeler
bilgi iplik
Wine oturumundaki tüm w-thread'leri listeler
bilgi çerçeve
İstisna çerçevelerini listeler (geçerli yığın çerçevesinden başlayarak). Ayrıca geçebilirsin,
isteğe bağlı argüman olarak, incelemek için bir iş parçacığı kimliği (geçerli iş parçacığı yerine)
istisna çerçeveleri.
Hata ayıklama iletileri, aşağıdakileri kullanarak hata ayıklarken açılıp kapatılabilir: set komut, ancak
yalnızca ile başlatılan kanallar için ŞARAP böceği Çevre değişkeni.
set uyarmak + kazanmak
uyarıyı açar kazanmak kanal
set + kazanmak
uyar/düzelt/hata/izlemeyi açar kazanmak kanal
set - kazanmak
uyar/düzelt/hata/izlemeyi kapatır kazanmak kanal
set onar beni - herşey
Tüm kanallarda fixme sınıfını kapatır
gdb modu:
Bak gdb tüm belgeler için gdb emreder.
Ancak, birkaç Şarap uzantısı mevcuttur, izlemek komut:
izlemek ve
Şarap oturumundaki tüm pencereleri listeler
izlemek proc
Şarap oturumundaki tüm süreçleri listeler
izlemek mem
Hata ayıklanmış işlemin bellek eşlemesini görüntüler
Oto ve minidump modları:
Kullanıcı girişi mümkün olmadığı için komutlar mevcut değildir.
ÇEVRE
WINE_GDB
içinde kullanıldığında gdb proxy modu, WINE_GDB adını (ve yolunu) belirtir.
çalıştırılabilir için kullanılacak gdb. "gdb" varsayılan olarak kullanılır.
YAZARLAR
İlk versiyon Eric Youngdale tarafından yazılmıştır.
Katkıda bulunanların geri kalanı için Şarap geliştiricileri listesine bakın.
onworks.net hizmetlerini kullanarak winedbg-development'ı çevrimiçi kullanın