我在重新編譯特定單元(MyClass)後收到訪問衝突,除非我做了清理。這個錯誤顯然是對一個空對象的調用(寫入地址00000000),但是當我嘗試對它進行操作時,編譯器將不允許我插入代碼,我認爲發生錯誤。 (在同一個對象中的一個方法內部。當我跟蹤到方法時,在跟蹤到跟蹤代碼之前出現錯誤。)這發生在MyClass的使用單位中,而不是MyClass本身。訪問衝突,除非我在重新編譯之前清理
奇怪的是,如果我做一個乾淨的(或生成),然後重新編譯,程序運行良好。這會發生什麼原因?
更新
該應用程序使用通過AsyncCalls庫中創建多個線程。我使用若干個TEvent
和TMultiReadExclusiveWriteSynchronizer
對象來保持進程的順序和資源的保護。創建或釋放這些對象時是否需要特別注意?
monolith exe或BPLs? –
只是整體exe文件。 –
可能在磁盤上是xxxxx.pas的mseveral副本?即使在調試信息丟失的情況下,您也可以嘗試在CPU窗口中追蹤 –