Amacım:
- Yığını yürümek için Delphi tarafından derlenmiş 32 veya 64 bit Windows programında askıya alınmış bir iş parçacığı verildiğinde (yapılabilir)
- Her yöntemdeki yerel değişkenleri ve değerlerini numaralandırmak için verilen yığın girişleri. Yani, en azından, adreslerini ve türlerini (tamsayı32 / 64 / işaretli / işaretsiz, dize, kayan nokta, kayıt, sınıf ...) bulun ve bunların kombinasyonu değerlerini bulmak için kullanılabilir.
Birincisi iyi ve bu soru ile ilgili olan ikinci soru. Yüksek düzeyde, Delphi'de bir yığın girişi verildiğinde yerel değişkenleri nasıl numaralandırırsınız?
Düşük düzeyde, araştırdığım şey bu:
RTTI: yöntemler hakkında bu tür bilgileri listelemez. Bu aslında gerçekçi bir seçenek olduğunu düşündüğüm bir şey değildi, ama yine de burada listelemek.
Hata ayıklama bilgileri: Bir hata ayıklama derlemesi için üretilen hata ayıklama bilgilerini yükleme.
- Harita dosyaları: ayrıntılı bir harita dosyası bile (bir metin biçimli dosya! Birini açın ve bir bakın) yerel değişken bilgisi içermez. Temelde adreslerin ve kaynak dosya satır numaralarının bir listesi. Adrese dosyalama ve çizgi korelasyonu için harika, örneğin oluktaki mavi noktalar; daha ayrıntılı bilgi için harika değil
- Uzaktan hata ayıklama bilgileri (RSM dosyası) - içeriği veya biçimi hakkında bilinen bilgi yok .
- TD32 / TDS dosyaları: şu anki araştırma alanım. Diğer birçok bilginin yanında küresel ve yerel semboller içerirler.
Burada karşılaştığım sorunlar:
- TD32 dosya biçimiyle ilgili bir belge yok (bulabildiğim.)
- Onlar hakkındaki bilgilerimin çoğu onları kullanan Jedi JCL kodundan (JclTD32.pas) geliyor ve bu kodu nasıl kullanacağımdan veya oradaki yapıların yerel değişkenleri gösterecek kadar kapsamlı olup olmadığından emin değilim. Küresel sembolleri ele alacağından oldukça eminim, ancak yerelden çok emin değilim. Biçim için tanımlanmış ve dokümantasyonsuz çok çeşitli sabitler vardır, ne anlama geldiklerini okumak için, tahminim kalmadı. Ancak bu sabitler ve isimleri bir yerden gelmelidir.
- TDS bilgisini kullanarak bulabildiğim kaynak yerel sembolleri yüklemiyor veya işlemiyor.
Doğru yaklaşım buysa, bu soru 'TDS / TD32 dosya formatı için dokümantasyon var mı ve yerel değişkenleri yükleyen herhangi bir kod örneği var mı?'
Bir kod örneği gerekli değildir, ancak çok az olsa bile çok yararlı olabilir.