Softice programının özellikleri :
Hafıza okuma / yazmalarında , port okuma / yazmalarında , hafıza aralıklarında ve kesintilerde gerçek zamanlı kesme
Geriye doğru tarih aralıklarını inceleme
Sembolik ve kaynak seviyesinde hata ayıklama
Mevcut hata ayıklayıcı programlarıyla çalışma ortamı
Monokrom sistemler için 640K temel hafızayı yükseltmek için takviye
Herhangi bir anda ekrana gelebilen pencere
Programa müdahale kullanılamaz halde bile tuşlarla dışarı çıkma imkanı
80386 korumalı modu tarafından korumaya alınmış bir hata ayıklayıcı şifre. Bu özellik Softice programının değiştirilmesi veya tahribine yönelik programları önler. Eğer sistem 640K dan fazla hafızaya sahip ise , en düşük 640K seviyesinde hafızanın kullanılmaması için Softice programının kon figüre edilme imkanı .
Kullanımı kolay aktif yardım
Sabit hata ayıklayıcı konumunda kullanma imkanı. Bu özellik eğer hata ayıklayıcı yüklenebilir aygıt sürümleri, kesme denetleyicileri veya gelenekselhata ayıklayıcıların giremediği yeniden açılış sırası için kullanılıyorsa, eğer hata ayıklayıcı programımız yeniden giriş problemleri yaşıyorsa , oldukça faydalıdır.
DOS işletim sistemi olmayan veya kendi kendine yeniden açma programlarının hata ayıklanmasına izin veren yeniden açma özelliği
Basit kurum özelliği, işlemde olmayan I / O portlarının ayarı için DIP anahtarlarının olmaması, ve hafıza adres boşluğu ile anlaşmazlığın olmaması
Sistem Spesifikasyonları :
Softice IBM serileri II. Model 70 ve 80, Compaq 80386 ve 80386SX bilgisayarlarda , AT uyumlu ve 80386 hızlandırıcı kartlarında çalışır. Softice 80386 XT hızlandırıcı sadece olan AT ile uyumlu olarak çalışır. Softice en iyi genişletilmiş hafızalarda çalışır fakat standart hafıza sistemlerinde çalışmasında bir problem yoktur.
Softice görüntü çıkışları ve tuşvuruşu girişleri için DOS veya RAM BIOS kullanmaz. Bu sebepten dolayı görüntü aşağıdakilerden biri ile uyumlu olmalıdır. MDA, Hercules, CGA , EGA , veya VGA , Softice aynı zamanda görüntü yoğunluğu fazla olan programların hata ayıklamasında çok faydalı olabilecek iki monitör konfigrasyonunu destekler.
SOFTICE EKRANI VE HATA AYIKLAMA
SoftICE 'taki tüm etkileşim, herhangi bir zamanda açılabilen bir pencere aracılığı ile olur. Tüm SoftICE komutları küçük bir pencereye sığabilir, ancak pencere tüm ekranı kaplayacak şekilde büyütülebilir. SoftICE 'ı başka bir hata ayıklayıcıya yardımcı olarak kullanacağınız zaman küçük pencereyi, SoftICE' ı tek başına kullanacağınız zaman ise büyük pencereyi kullanırsınız.
Eğer dağıtım disketinde yer alan SoftICE kuruluş dosyasını (S-ICE.DAT) kullanırsanız, pencere ilk açıldığında tam ekran modunda gelecektir.
Pencereyi Açma ve Kapama
SoftICE 'ı yükledikten sonra, istenen herhangi bir zamanda pencereyi açabilirsiniz. SoftICE' ı CTRL D tuşlarına basarak çalıştırabilirsiniz. Bununla birlikte bu sıra, ALTKEY komutunun kullanımı ile değiştirilebilir. X komutunun kullanımı ile veya SoftICE'ı çağırmak için kullandığınız tuş sırası ile, asıl görüntüye geri dönülür. SoftICE 'ta çalışırken ayarladığınız tüm kesme noktaları bu noktada iptal olacaktır.
Pencere Boyutunu Değiştirme
SoftICE penceresinin hem genişliğini hem de yüksekliğini değiştirebilirsiniz. Pencere boyutunu değiştirme, tek başına kullanım modunda kod belleğini görüntülediğiniz zaman kullanışlıdır. Pencere yüksekliği, 8 ile 25 satır uzunluğu arasında değişebilir. Pencerenin yüksekliğini değiştirmek için aşağıdaki tuş sırasını kullanın:
ALT UP : Pencerenin boyunu uzatır.
ALT DOWN : Pencerenin boyunu kısaltır.
WIDE (Geniş) mod : Tam ekran genişliği.
NARROW (Dar) mod : 46 karakter genişliği.
Pencereyi Taşıma
SoftICE penceresi hareketlidir ve ekranda herhangi bir yere konumlandırılabilir. Bu durum özellikle pencerenin dar modda kullanıldığı durumda faydalıdır. Pencereyi, bilgiyi görme ihtiyacı duyduğunuz herhangi bir zamanda, ekranda pencerenin gerisinde taşıyabilirsiniz. Aşağıdaki tuş kombinasyonları pencereyi hareket ettirirler:
CTRL UP : Pencereyi bir satır yukarı kaydırır.
CTRL DOWN : Pencereyi bir satır aşağı kaydırır.
CTRL RIGHT : Pencereyi bir sütun sağa kaydırır.
CTRL LEFT : Pencereyi bir sütun sola kaydırır.
Satır Düzenleme Tuşları
SoftICE 'ın kolay kullanımlı satır editörü, önceki komutları yeniden çağırıp düzenlemenize izin verir. Satır düzenleme fonksiyonları, popüler CED satır editöründekilere benzerdir. Aşağıdaki tuşlar, komut penceresindeki komutları düzenlemenize yardımcı olur.
LEFT : İmleci sola götürür.
RIGHT : İmleci sağa götürür.
INS : Araya girme modunu değiştirir.
DEL : Üzerinde bulunulan karakteri siler.
HOME : İmleci satırın başına götürür.
END : İmleci satırın sonuna götürür.
UP : Bir önceki komutu gösterir.
DOWN : Bir sonraki komutu gösterir.
SHIFT : Görüntüyü bir satır yukarı kaydırır.
SHIFT : Görüntüyü bir satır aşağı kaydırır.
PAGE UP : Görüntüyü bir sayfa yukarı kaydırır.
PAGE DN : Görüntüyü bir sayfa aşağı kaydırır.
BKSP. : Bir önceki karakteri siler
ESC : O andaki komutu iptal eder.
İmleç veri penceresinde veya kod penceresinde iken, bazı özel tuş atamaları bulunmaktadır. Bunlar, E ve EC komutlarının ilgili bölümlerinde tarif edilmiştir. Bir özel atamada, imleç kod penceresinde iken SHIFT UP ve SHIFT DOWN tuşlarındadır. Bu tuşlara yeniden atama yapılarak bunların normalde UP ve DOWN tuşlarının işlevine sahip olması sağlanır. Böylece imleç kod penceresinde iken, önceki komutları yeniden çağırabilirsiniz.
Etkileşimli Durum Satırı
Pencerenin en altındaki durum satırı, komut kullanımları ile etkileşimli yardım olanağı sağlar.
Komut Kullanımları
SoftICE, komut tabanlı bir hata ayıklama aracıdır. SoftICE' la iletişim kurmak için, isteğe göre parametrelerle değiştirilebilen komutları girmelisiniz. Tüm komutlar, küçük / büyük harf ayrımı olmaksızın 1 ile 6 karakter uzunluğundaki yazı dizinlerinden oluşmaktadır. Tüm parametreler, ASCII dizinleri veya ifadelerdir. İfadeler genelde sayılardır, fakat sayıların ve matematiksel işlemlerin birleşmesinden de oluşabilir. (örn, + - / *) Bütün sayılar hexadecimal formatta görüntülenmektedir. Bit (byte) parametreleri 2 rakam, kelime (word) parametreleri 4, çift kelime (double word) parametreleri 2 kelime parametresi uzunluğundadır ve : işareti ile ayrılır.
Bazı parametrelere örnekleri ;
12 : Bit parametresi
10FF : Kelime parametresi
E000:0100 : Çift kelime parametresi
Kayıtlar (Register) bir ifadede bitler veya kelimeler olarak yer alırlar. Örnek olarak;
'U CS:IP-10' komutu, ayırma (unassembling) talimatını şu anda bulunulan talimat gösterge adresinin 10 bit öncesinden itibaren başlatır. İzleyen kayıt isimleri ifadelerde kullanılabilir: AL, AH, AX, BL, BH, BX, CL, CH, CX, DL, DH, DX, DI, SI, BP, SP, IP, CS, DS, ES, SS, veya FL
Bellek Adreslerini Belirleme
SoftICE komutlarının çoğu bellek adreslerini parametre olarak ister. Bellek adresi, : işareti ile ayrılmış 2 tane 16-bitlik kelimeden oluşan bir değerdir. İlk kelime, segment adresi, ikinci kelime segment ofsetidir. Herhangi bir SoftICE komutunda, adreslerin yerine genel semboller kullanılabilir. Genel semboller, SoftICE program yükleyicisi (LDR.EXE) ile mutlaka yüklenmiş olmalıdır. Genel sembollerin kullanımı ile ilgili tam açıklama için Bölüm 7 (Semboller ve Kaynak) 'ye bakınız. SoftICE ifade değerlendiricisi, adreslerle birlikte bir çok özel karakteri tanır. Bu özel karakterler şunlardır :
$ : Şimdiki CS:IP.
@adres : Çift Kelime Yönlendirme
numara : Kaynak Satır Numarası
Örnekler :
U.1234 : Bu komut ayırma talimatını 1234 (ondalık sayı olarak) no.lu kaynak satırından başlatır.
U $-10 : Bu komut, şimdiki işlem gösterge talimatından 10 bit önceki talimattan başlayarak ayırır.
G @SS:SP : Kesme rutininin ilk talimatında olduğunuzu düşünün. Bu komutun girilmesi yığındaki dönüş adresine geçici bir kesme noktası atanmasını ve kesme rutininin geçilmesini sağlar.
SoftICE Yardım
Help:Help komutu kısa bir tanımlama, kullanım biçimi ve her komut için bir örnek görüntüler.
? veya H : Tüm komutlar ve de işlemlerle ilgili kısa açıklama görüntüler.
? komut veya H komut :Belirtilen komutla ilgili daha detaylı bilgi, kullanımı ve bir örnek görüntüler.
? ifade veya H ifade : İfadenin hexadecimal, ondalık veya ASCII olarak değerini görüntüler.
SOFTICE VE KESMELER
Tanıtım
SoftICE, geleneksel olarak sadece donanım hata ayıklayıcılarında bulunan kesme noktası kapasitesine sahiptir. 80386 çiplerinin gücü ve esnekliği, ilave donanım olmadan kesme noktası kapasitesinin geliştirilmesine izin verir.
Kesme noktaları okuma yazma bellek konumlarında, okuma yazma belek sınırlarında, program çalışmasında ve port erişimlerinde ayarlanabilirler. SoftICE her kesme noktasına bir basamaklı hexadecimal sayı (0-F) atar. Bu kesme-numarası, kesme noktalarını silmek, kapatmak, aktif etmek veya düzenlemek istediğinizde kullanılırlar. Tüm SoftICE kesme noktaları zorludur. Bu, kullanıldıktan sonra otomatik olarak iptal edilemeyeceklerini gösterir. BC veya BD komutlarını kullanırken, özellikle temizlemeli veya iptal etmelisiniz. SoftICE, bir seferde 16 kesme noktasını işleyebilir. 80386 işlemcilerinin kısıtlamaları nedeniyle sadece 4 adet kullanabileceğiniz bellek konumundaki (BPM ler) kesme noktaları haricinde tek tipte 10 kesme noktanız olabilir. Kesme noktaları sayaç parametreleri ile belirtilebilirler. Sayaç parametresi SoftICE 'a, kesme noktasının, işleme geçmeden önce kaç defa yok sayılacağını söyler.
Kesme Noktalarını Ayarlama
BPM, BPMB, BPMW, BPMD Bellekteki veya çalışmadaki kesme noktalarını ayarlar
BPR Bellek sınırlarındaki kesme noktasını ayarlar
BPIO I/O port erişimindeki kesme noktasını ayarlar
BPINT Kesintilerdeki kesme noktalarını ayarlar
BPX Çalışma sırasındaki kesme noktasını ayarlar veya temizler
CSIP CS:IP aralığındaki nitelikleri ayarlar.
BPAND Birden fazla kesme noktasının çalışmasını bekler
Bellekteki veya çalışmadaki kesme noktalarını ayarlama
Kullanılışı :
BPM[boyut]address[eylem][nitelik değeri][C=sayaç]
Boyut : B(bit), W(kelime), D(çift kelime)
Eylem :
R, W, RW, veya X
Nitelik :
EQ(eşit), NE (eşit değil), GT (den büyük), LT (den küçük),
M (Maskeleme)
Yorumlar :
BPM komutu, bellek okuma, yazma veya çalıştırma sırasındaki bir kesme noktasını ayarlamanıza izin verir. Eğer eylem komutu belirtilmemişse, RW seçilen değerdir. Eğer boyut belirlenmemişse, bit seçilen değerdir. X dışındaki tüm eylem komutları kesme komutunun olduğu işlemin çalıştırılmasına neden olur. Bu durumda şimdiki CS:IP, kesme noktasından sonraki işlem olacaktır. Eğer eylem tipi X ise, şimdiki CS:IP kesme noktasının ayarlandığı işlem olacaktır.
Eğer R belirlenmişse, kesme noktası okuma erişiminde ve bellek konumunu değiştirmeyen yazma işlemlerinde oluşur. Eğr eylem tipi R, W veya RW ise, belirtilen adresteki işlemi çalıştırmayla kesme noktası eyleminin gerçekleşmesine yol açmaz.
Kesme Noktalarını Yönetme
SoftICE kesme noktalarını yönetmek için çeşitli komutlar sunar. Yönetim komutları kesme noktalarını listelemeyi, değiştirmeyi, silmeyi, aktif ve pasif hale geçirmeyi sağlar. Kesme noktaları 0 dan F e hexadecimal basamaklardan oluşan kesme numaraları ile tanımlanır. Kesme noktası yönetim komutları şunlardır :
BC Kesme noktalarını temizleme
BD Kesme noktalarını pasifleştirme
BE Kesme noktalarını aktifleştirme
BL Kesme noktalarını listeleme
BPE Kesme noktalarını düzenleme
BPT Kesme noktasını geçici değer olarak kullanma
Örnek :
BL
Bu komut tanımlanan tüm kesme noktalarını görüntüler. Dört kesme noktasını listeleyen bir örnek görüntü aşağıdadır :
0) BPMB 1234:0000 W EQ 0010 C=03
1)*BPR B000:0000 B000:1000 W C=01
2) BPIO 0021 W NE 00FF C=01
3) BPINT 21 AH=4C C=01
BC komutu bir veya daha çok kesme noktalarını silmek için kullanılır.
Örnek :
BC *
Bu komut tüm kesme noktalarını temizler.
SOFTICE HATA MESAJLARI :
Devam etmek için 'C' ye veya Softice' ye dönmek için 'R' tuşuna basın
Softice hata sebebiyle (06, 0C, 0D, 0E ) ekrandan çıktı. Softice'ye geri dönmek için R tuşuna basın. Hatayı Windows hata düzelticisine aktarmak için C tuşuna basın.
Softice aktif değil
Bu mesaj, Softice aktif olmadığı zaman monochrome ve seri ekran gösterimlerinde yardım hattı üzerinde görülür.
Belirtilen isim bulunamadı
Geçersi tablo - ismi içeren TABLE kelimesin yazdınız. Geçerli tablo - isim listesini görmek için TABLE kelimesini parametresiz olarak yazınız.
Tüm kesme saklamaları kullanıldı, sadece RAM 'da kullan
ROM' da bir BPX kesme noktası oluşturmaya çalışıyordunuz ve bütün hata ayıklayıcı saklayıcılar hali hazırda kullanıldı. BPX INT 3 yöntemini kullandığı için RAM ' da hala çalışacaktır. Bu çalışmadan önce BPM tipi kesme noktalarından birisini temizlemeliyiz.
Seri aygıta
bağlama başarısızlıkla sonuçlandı
Başlangıç seri haberleşme sırası başarısızlıkla sonuçlandı. Bu yanlış seri
port seçiminden dolayı olabilir, hedef makinesi SERİAL:EXE 'yi çalıştıramıyor
veya seri kablo hatalı.
KBPM kesme sınırı aşıldı
X86 işlemcilerinden kaynaklanan kısıtlamalardan dolayı sadece 4 BPM türü kesme noktalarına izin verilir. Bu çalışmadan önce BPM türü kesme noktalarından bir tanesini siliniz.
BPMD adresi
Dword sınırında olmalıdır
BPMD ' de belirtilen adres Dword sınırında çalışmadı. Bir Dword sınırı sıfıra
eşit iken en az önemli adres bilgisine sahip olmalıdır.
BPMD adresi
Word sınırında olmalıdır
BPMD 'de belirtilen adres Word sınırında çalışmadı. Bir Word sınırı sıfıra
eşit iken en az önemli adres bilgisine sahip olmalıdır.
Softice
dahilinde kesme noktalarına izin verilmedi
Softice kodunda kesme noktaları ayarı yapamazsınız.
Hata kaydedici
saklayıcısı hali hazırda kullanılmakta
BPM komutunda belirtilen hata ayıklayıcı saklayıcısı, önceki BPM komutunda
hali hazırda kullanılmıştır.
Adres değil
beklenen değer
İfade değerlendirici işlem gören bilgileri adresler ve değerler olarak geniş
bir değerlendirmeye tabii tutar. Adresler, adres düz olsa bile ayırıcı / parça
ve ofset bileşenine sahiptir. * ve / gibi bazı operatörler adres değil sadece
sade değerler beklerler ve onların adres üzerindeki kullanımı bu mesajı ortaya
çıkarır. Bazı durumlarda dolaylı operatörlerin kullanımı bir adres üretir.
İfade ?? ne ifadesi ?
İfade değerlendirici değerlendirecek herhangi bir şey bulamadı. Şu hemen belirtilmelidir ki , Softice ' nin bazı eksik versiyonlarında ? komutu yardım istemek için kullanılırdı. Bu şu anda geçerli bir durum olmayıp, H komutunu ( F1 ) kullanınız.
Softice'de XXXXX adresinde ve XXXXX ofsetinde Int0D hatası
Hata Kodu : XXXX (veya aşağıdaki mesaj )
Softice 'de XXXXX adresinde ve XXXXX ofsetinde Int0E hatası
Hata Kodu : XXXX
Bu iki mesaj Softice 'nın kendi iç hatalarıdır. Softice içindeki kod ya genel koruma hatasına (OD ) yada bir sayfa hatasına ( OE ) sebep olmuştur. Ofset hataya sebep olan kodun içindeki bir ofsettir. Bu mesajlar aynı zamanda saklayıcılarda ki değerleri de ekranda gösterirler.
Geçersiz hata ayıklayıcı saklama
3' den büyük bir BPM hata ayıklama saklayıcısı belirlendi. Geçerli hata ayıklayıcı saklayıcılar DRO , DR1, DR2, ve DR3 'tür.
Bu sıra numarasında kod yok
Komutta belirtilen sıra sayısı onula bağlantılı bir koda sahip değildir.
Mevcut kaynak dosyası yok
SS komutu girdiniz ve ekranda şu anda kaynak dosyası yoktur.
Dosya bulunamadı
Mevcut sembol tablosu ona ait herhangi bir kaynak dosyasına sahip değil.
Yerel kümeleme yok
LHEAP komutu yerel kümelemesi olmayan bir ayırıcı belirledi.
Daha fazla Watch izin yok
Maksimum 8 watch değişkenine izin verilir.
Hala devam eden arama yok
Parametreleri olmayan bir S komutu belirlediniz ve halen devam eden bir arama yok. Öncelikle bir adresi ve parametreleri için veri listesi olan bir S belirleyiniz. Veri listesinin ardışık oluşumları için tarama yapmak için S komutunu parametreleri olmadan kullanın.
Boyut yok
Bir A komutu sırasında , makine dili bilgi kelime veya çift kelime kullanmak isteyip istemediğinizi belirleyemiyor.
Sembol tablosu yok
SYM, SS veya FILE komutlarını girdiniz ve şu anda semboller mevcut değil.
TSS yok
Sistemde geçerli iş durum segmenti olmadan TSS komutunu girdiniz.
Sadece kaynak modunda geçerli
SS komutunu karışık veya kod modunda kullanamazsınız.
Sayfa mevcut değil
Belirtilen adres mevcut olmayan sayfa tablolarında işaretlendi. Softice bilgiye ulaşmaya çalışırken , işaretlenen veya olmayan bir sayfada hafızaya ulaştı.
Parametre yanlış boyutta
Girdiğiniz komutlardaki parametrelerden bir tanesi yanlış boyutta. Örneğin, EB veya BPMB komutlarını bilgi değeri yerine kelime değeri olarak kullanırsanız.
Patern bulunamadı
Veri listesinin taranmasında S komutu herhangi bir karşılık bulamadı.
Sembol tanımlanmadı (mysymbol)
Mevcut olmayan
bir sembol kullandınız. Mevcut sembol tablosundaki sembollerin listesine ulaşmak
için SYM komutunu kullanın.
Numega Softice Referance bölümünden alıntıdır.