Gerçekten kafamı bu duvardaki atasözüne karşı çarpıyorum.DLL VS2010'daki Modüller Listesinden Eksik
Hem C# hem de C++ kod projeleri içeren bir çözüm var.
Bu projede derlenen C++ DLL'lerini, C# ile P/Invoke aracılığıyla derlerim. Problem yok. *.sln
dosyasının yanı sıra C++ ve C# dosyaları aracılığıyla gereken tüm hata ayıklayıcı ayarları, bilgimden en iyi şekilde doğru şekilde ayarlandı. Not: Sık sık P/Invoked C++ kodunu sorun olmadan hata ayıklayabiliyorum! Doğal olarak, simgelerin yüklenmediğini düşünmüştüm - yine de, modüller penceresini açtıktan sonra, adım atmaya çalıştığım DLL dosyasının bile listelenmediğini keşfettim! C# programımdaki işlevi çalıştırmak gerçekten DLL'yi kullanır (doğru çıktıyı alırım), ancak Modüller penceresini izlerken, DLL hala görünmez.
Neler olduğu hakkında bir fikri olan var mı?
tl; dr
I ayıklama P/çağrılan C++ ile deneyim adil bir miktar vardır. Ancak, hata ayıklamak istediğim DLL Modüller listesinde bile görünmüyor (bu yüzden VS hata ayıklayıcısının varoluşundan tamamen habersiz gibi görünüyorsa, bunu gerçekleştiremiyorum).
Senaryonuzu nasıl yeniden üretebiliriz? –
"Karışık mod" hata ayıklaması yapmak için ayarlanmış mı? I.e listelenen veya listelenmeyen yerel (i.e C++ modülleri) hiçbiri değil, sadece hata ayıklamaya çalıştığınız değil? –
David: Ne yazık ki, bu senaryoyu kolayca yeniden oluşturamıyorum, çünkü bu Modüller listesinden hiç bir zaman eksik olan bir zamanım oldu! Matt: C++ projelerinde, Attach Evet olarak ayarlanmış karma mod hata ayıklaması için ayarlandım. C# projesi kapsamında, C++ projeleri bağımlılıklar olarak listelenmiştir. Ayrıca C# projesi içinde Yönetilmeyen kod hata ayıklamayı etkinleştir. Sorun şu ki, kod çalıştırıldığında, Debug> Modules ekranında bile, C++ disklerinin hiçbiri listelenmez. Daha önce bunu gördünüz mü? Şimdiye kadar verdiğiniz ipuçları için teşekkür ederiz! –