QtCreator IDE kullanarak mingw ile derlenmiş bir Qt C DLL yazdım.QtCreator kullanarak bir DLL projesinde nasıl hata ayıklanır?
DLL bir işlem içine enjekte ettiğimde, DLL bu işlemin belirli bir kod satırında çökmesine neden olur. Bu satırı OutputDebugString
kullanımıyla suçlu buldum. Satırı düzeltmeyi biliyorum ve bu satır değiştirildiğinde, DLL çalışır. Ancak, bir hata ayıklayıcısının nasıl kullanılacağını öğrenmek amacıyla, çizgiyi bozuk ve değiştirilmemiş bıraktım.
Aynı satırın soruna neden olduğunu bulmak için QtCreator hata ayıklayıcısını nasıl kullanırdım?
Sorunu yeniden üreten ve hata ayıklayıcısında çalıştıran kütüphaneye karşı küçük bir program yazın. Ya da "enjekte" ile tam olarak ne demek istiyorsun? –
@FrankOsterfeld: http://en.wikipedia.org/wiki/DLL_injection Kurban süreçlerinin belleğini düzenleyen düşük düzeyli bir DLL dosyasıdır. DLL enjeksiyonunun nasıl çalıştığından dolayı kütüphaneye bağlanamıyorum. Neden başka bir sürecin hafızasını düzenliyorum? Assault Cube adlı açık kaynaklı bir projenin belleğini düzenliyorum. Amaç, C kodunun ASM'ye nasıl dönüştürüldüğü ve bilgisayarların alt düzeyde nasıl çalıştığı hakkında daha fazla bilgi edinmek ve öğrenmek. – user2924308
Eh, sadece yukarıdaki pencerede dll ve argümanlar kullanır ve QtCreator sizin için dinlenme yapacak, yürütülebilir adı yazabilirsiniz. – Lol4t0