Makale numarası: 164151 - Son Gözden Geçirme: 26 Ekim 2007 Cuma - Gözden geçirme: 3.1

Aynı projeye ikili görüntülerini Karşılaştırılacak nasıl oluşturulur

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Hepsini aç | Hepsini kapa

Özet

Bazen, farklı zamanlarda oluşturulan derleme görüntüler (EXE, DLL, vb.) aynı proje karşılaştırmak gerekebilir. Saat ve tarih damgaları görüntüleri içeren bu yana bir düz dosya karşılaştırma görüntüleri arasındaki farkları bildirir. Doğru dosya karşılaştırma oluşturmak için DUMPBIN yardımcı programı'nı kullanabilirsiniz.

Daha fazla bilgi

Saat ve tarih damgaları kaldırılabilir (kod ve veri) ilgili bilgileri kaldırma olmadan yerleşik yansımadan /RAWDATA kullanarak geçiş DUMPBIN yardımcı programındaki kullanılabilir. Dosya karşılaştırma yardımcı programı gibi bir çıkış DUMPBIN üzerinde kullanılabilir:
   DUMPBIN  /RAWDATA  MyApp.EXE > first.txt
				
Uyg.exe farklı yeniden oluşturulur, sonra DUMPBIN aşağıdaki gibi kullanın:
   DUMPBIN  /RAWDATA  MyApp.EXE > second.txt
				
şimdi first.txt karşılaştırabilirsiniz ve yardımcı programı gibi bir dosya kullanarak second.txt karşılaştırın:
       FC /B first.txt second.txt
				
Çalıştır DUMPBIN görüntünün yerleşik dizinde. Yukarıdaki yordam, yalnızca hata ayıklama oluşturmanıza kayıtları tarih ve saat damgası (bağımsız olarak /Zi veya /Z7) görüntüler ve DUMPBIN bu bilgileri kaldırmak için sürüm oluşturma için geçerlidir. Önceden tanımlı makrolar __DATE__ ve __TIME__ veri kaynağında kullanılıyorsa, görüntüleri kaydedildiği saat ve tarih damgası DUMPBIN tarafından için sürüm oluşturma kaldırılmayacak. Bu koşullar altında /DISASM anahtarı'nı kullanabilir. Ancak, saat ve tarih damgası yan? s?ra başlatıldı veri /DISASM anahtarını kaldırır. Bu, geçerli görüntü bir karşılaştırma alamazsınız anlamına gelir.

Not: Visual C++ birbirini izleyen yap?lar aynı kaynak dosyaları oluştururken aynı ikili görüntü oluşturur garanti yoktur. Ancak, EXE (ya da DLL) tam olarak aynı şekilde, yürütme altında eşit tüm işlemler davranacaktır olduğunu garanti edilmiştir. Derleme ve seçenekleri bağlayın ve sonra da iki ikili görüntü eşit olup olmadığını karşılaştıracaktır bir rol sipariş oyun bağlantı.

Yukarıda açıklanan yordamları izleyin ve iki görüntü eşit karşılaştırmak, sonra resimleri aynıdır. Iki görüntü eşit karşılaştırmak, sonra var. yine de görüntüleri aynı veya olup olarak uncertainty

Yürütülebilir dosyayı <a1>kaynak</a1> bölümünde, tarih/saat damgaları içerir. Yürütülebilir dosyayı, <a1>kaynak</a1> bölümünde her türdeki bir kaynak (örneğin, dize tablosu, iletişim, simge) için bir başlık vardır. Bu üstbilgileri her bir tarih/saat damgası içerir.

Microsoft Taşınabilir çalıştırılabilir ve ortak nesne dosyası biçim belirtimi MSDN Kitaplığı'ndan tarih/saat damgaları bunlar vermiyor karşılaştırma'da bir etmen olabilir veya karşılaştırma <a1>Kaynaklar</a1> bölümünde yoksaymasını biçimde değiştirmek için kullanın.

Bölümü tanımlamak WinDiff yardımcı programını çalıştırıp bu farklar içeren Visual C++ ile sevk:
   WINDIFF first.txt second.txt
				
(sayı farklı olabilir, ancak) farklılıklar içeren bölümü aşağıdakine benzer bir satır başlatır:
   RAW DATA #5
				
daha sonra bu aşağıdaki çıktısı ile karşılaştırın:
   dumpbin /headers MyApp.exe
				
, aşağıdaki ile başlayan bir başlık bulmalısınız:
   SECTION HEADER #5
      .rsrc name
				
bölüm numarasını ham veri farklar bölümle eşleşen için (örneğin, bölüm sayısı 5'tir), ".rsrc" adlı bölümü farkları ortaya sonra. <a0>Kaynak</a0> bölümünün adıdır.

Dizin Ver tablo, tarih/saat damgasını da vardır. Bu dosya genellikle .rdata bölümü (Visual C++ 4.2 ve sonrası) ya da .edata bölümdeki (öncesindeki Visual C++ 4.2) bulunur. Bu tablo, yalnızca simgeler PE görüntüsünden verirseniz bulunmaktadır.

Alma dizini tablo, bir tarih/saat damgasını da vardır. Bu, genellikle .idata bölümünde bulunur. Bu tablolardan herhangi birini, her resmi başvurduğu DLL DOSYASı bulunmaktadır. Bu tarih/saat damgasını görüntü bağlı olduğu sürece sıfırdır. Bağlı resmi bir kez tarih/saat damgasını simgeler nereden alınır gelen DLL dosyasının tarih/saat damgasını için ayarlanır.

Yine, Microsoft Taşınabilir çalıştırılabilir ve ortak nesne dosyası biçim belirtimi görüntüdeki tarih/saat bilgileri bulmak nasıl yükleneceği hakkında bilgi için MSDN Kitaplığı'ndaki bakın.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual C++ 2.0 Professional Edition
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 2.2
  • Microsoft Visual C++ 4.0 Standard Edition
  • Microsoft Visual C++ 4.1 Aboneliği
  • Microsoft Visual C++ 4.2 Enterprise Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 4.2 Professional Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
Anahtar Kelimeler: 
kbmt kbproductlink kbarttypeinf kbhowto KB164151 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:164151  (http://support.microsoft.com/kb/164151/en-us/ )