Hata ayıklama olaylarına giren bir Visual Studio uzantısı var. Hata ayıklayıcının bir kod satırında durduğunda, IDebugEventCallback2
geri çağırma işlemi çağrılır ve hata ayıklayıcının IDebugThread2::EnumFrameInfo
aracılığıyla durdurulduğu dosya adını ve satır numarasını öğrenebilirim.Visual Studio Uzantısında, hata ayıklayıcının durduğu işlevin satır aralığını alın
Geçerli işlevin yaydığı kaynak kodu satır aralığını bilmek istiyorum.
Hata ayıklayıcı arabirimlerden ihtiyacım olan bilgileri elde etmenin mümkün olduğunu umuyorum - hata ayıklayıcı, işlevlerin satır aralığını bilmelidir. Bu mümkün değilse başka yöntemlere açığım. İdeal bir dünyada çözüm, proje sistemi olmadan çalışırdı - kendim dahil birçok kişi, proje sistemini kullanmadan Visual Studio'yu bağımsız bir hata ayıklayıcısı olarak kullanır. (Ayrıca, Roslyn güvenemez - bu Visual Studio varolan sürümlerinde çalışması gerekiyor.)
Düzenleme: sürece dosyası bir projenin parçası olarak, iyi FileCodeModel
eser kullanmanın Carlos'un yöntemi. Hala proje sistemini gerektirmeyen bir yöntem olup olmadığını bilmek isterim.
Teşekkürler, ancak bu benim için pek işe yaramıyor. 'GetSourceRange()', tüm kareyi değil, geçerli deyimin aralığını döndürür ve 'Seek()', C++ hata ayıklayıcısından 0x80004001 "Uygulanmadı" değerini döndürür. (Benim downvote, BTW.) (Ve ben zaten baktım mükemmel CodeModel makalenin, işaretçisi için teşekkürler. :-)) – RichieHindle