Visual Studio 2010'un birim sınama çerçevesi kullanılarak biraz sorun yaşadım. Şu anda QTAgent32, bir testin yürütülmesi bittikten sonra DLL'ye bir referans gösterecektir.QTAgent32.exe, yürütme sonrasında bir DLL tanıtıcısını açık tutar
Söz konusu DLL, bazı yerel C++ kodları etrafında bir C++/cli sarmalayıcıdır. Sarmalayıcı tarafından maruz kalan nesne aslında yönetilen kod tarafından hiçbir zaman atanmaz. Yaptığı tek referans, sınıfın hayat süresi boyunca ayarlanıp ayarlanmadığını görmek için elden çıkarma sırasında son bir kontroldür. i kod adım ve ayıklayıcı konsol çıktısını izlemek eğer (ki mantıklı) eğer isabet kadar yüklenmez DLL sembollerini görebilirsiniz beri
If(_obj != null)
{
_obj.Dispose();
_obj = null;
}
Ben gerçeği biliyorum. İlgili tüm yönetilen nesneler, tüm yerel nesnelerin bellek sızıntılarını önlemek için özen gösterildiğinden emin olmak için kullanılamaz.
Bu soruya dayanarak: QTAgent32 Holding File Open Hiçbir filestrenin açıkça (Console dahil) açılmamasını ve hiçbir dosyanın kullanılmadığından emin oldum, ancak sorun hala devam ediyor. Ne yapacağım konusunda fikirlerim tükeniyor.
Herkes yardımcı olabilir mi?
TL; DR: QTAgent32.exe, hiçbir zaman başlatılmayan bir C++/cli sarmalayıcıya açık bir başvuruda bulunur.
Önceden oluşturulmuş fikir aslında çok güzel. Bundan sonra kullanmak zorunda kalabilirim. Teşekkürler. – JMcCarty
qtagent32 çalışmadığı zaman bir hatadan kaçınmak için aşağıdaki satırı 0 çıkışından ekleyin. – Christian
@Christian Yardımcı olmadı, qtagent32 çalışmıyorken 'exit 0' ile bile hata alıyorum. Ne işe yarıyor, bu komutu yerine kullanıyor: 'start görevkill/f/im QTAgent32.exe' – theV0ID