正試圖在 os 載入程式鎖內執行Managed 程式碼。不要嘗試在 DllMain 或映像初始化函數內運行Managed 程式碼,這樣做會導致應用程式掛起。

來源:互聯網
上載者:User

正試圖在 os 載入程式鎖內執行Managed 程式碼。不要嘗試在 DllMain 或映像初始化函數內運行Managed 程式碼,這樣做會導致應用程式掛起。

.NET2.0中增加了42種非常強大的調試助手(MDA,Loaderlock
是其中之一。Loaderlock檢測在一個擁有作業系統loader
lock的線程上(如上例的video的運行線程)運行Managed 程式碼的情況。這樣做有可能會引起死結,並且有可能在作業系統載入器初始化DLL前被使用。雖然
這樣做很有必要,但在進行開發調試的時候,實在太麻煩

這是由於正在載入特定資源:例如換膚控制項時

  • 辦法一
  1. 把vs2005菜單的 調試->異常->Managed Debuggin Assistants->LoaderLock
    的選中狀態去掉
  2. 如果異常(exception)這一項沒有的話,在工具---自訂---命令選項卡---左邊選擇調試--右邊把異常托到菜單裡
  3. 快速鍵Ctrl+Alt+E,修改Managed Debuggin Assistants->LoaderLock 的選中狀態去掉
  • 方法二
  1. 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework下面增加一個String,值為"0"
        不過這樣做,在該電腦上所有基於.NET2.0開發都得不到MDA的好處

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.