2009-09-24 74 views
3

作爲標題,我朋友的環境是Windows 2003服務器。他附加了IIS進程,並在應該運行的代碼上設置了突破點,但VS並沒有停下來。 ISAPI是用VC++編寫的。如何使用Visual Studio調試ISAPI

他需要設置什麼設置?

謝謝。

回答

3

Visual Studio可以調試各類代碼:母語,腳本,管理的Silverlight等,你需要確保當你附上附加到:框中包含「本機代碼」。

你還需要確保你連接到的w3wp.exe的正確實例,如果有不止一個。

+0

沒有爲本地ISAPI擴展工作在IIS 7 – 2012-07-24 04:18:54

+0

@PuspenduBanerjee:你建在調試配置中的延伸?你引用的VS的VS建立它的位置的DLL?您正在附加w3wp.exe的正確實例(可能有多個)?您是否確保將「Native」選作要調試的代碼類型? – AnthonyWJones 2012-07-24 07:35:04

+0

一切我做到了,除了我已經在我的應用程序文件夾複製的dll [wwwroot文件] – 2012-07-24 08:11:26

1

如果你的朋友正在調試他本地主機上的一個站點,AnthonyWJones的建議就足夠了。

如果它在不同的機器,他可能需要運行Visual Studio遠程調試,並給自己的權限來連接到進程。

您可以使用一個工具,如Process Explorer幫你找出哪個進程分機/過濾器加載的,所以你可以連接到正確的。

4

這是一種遲到,但有一種更簡單的方法。

  • 右鍵點擊你的(ISAPI)項目,選擇屬性
  • 在對話框中選擇配置屬性 - >調試
  • 輸入:
    • 命令:C:\ WINDOWS \ SYSTEM32 \ INETSRV \ W3WP。 EXE
    • 命令參數:-debug
  • 現在做 「開始調試(F5)」 爲你的項目。

Visual Studio將啓動IIS的測試實例,可以調試您的DLL,無需連接到工藝等

請務必事先停止IIS服務。

+0

這對於IIS 8.5來說非常適合我。但是,我發現Visual Studio必須以IIS的管理員身份運行才能加載ISAPI擴展。 – rushman 2015-05-26 07:33:38