我在IIS下運行多個進程,調試時很難知道我要附加哪個進程。你能否以編程方式設置進程的「標題」,以便在Visual Studio的「附加到進程」窗口中標識它?您可以命名w3wp.exe的一個實例,以便它顯示在附加進程中?
7
A
回答
1
在IIS 7.5中,你的IIS會自動與應用程序池的名稱爲每個應用程序池帳戶。
http://learn.iis.net/page.aspx/624/application-pool-identities/
1
可能更好地更改過程的identity,以便您知道要附加哪一個。
2
您可以使用此VS宏根據應用程序名稱附加到工作進程。唯一的技巧是你需要將Microsoft.Web.Administration.dll從C:\ Windows \ System32 \ inetsrv複製到%PROGRAMFILES(x86)%\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PublicAssemblies。
Private Sub AttachToWorkerProcess(ByVal appName As String)
Dim targetPid = FindPoolPIDByName(appName)
If targetPid = -1 Then
MessageBox.Show("Unable to find a worker process hosting " + appName)
End If
Dim processes As EnvDTE.Processes = DTE.Debugger.LocalProcesses
For Each proc As EnvDTE.Process In processes
If proc.ProcessID = targetPid Then
proc.Attach()
End If
Next
End Sub
Private Function FindPoolPIDByName(ByVal appName As String) As Integer
Dim sm As New Microsoft.Web.Administration.ServerManager()
Dim appPoolName As String = Nothing
For Each site In sm.Sites
For Each app In site.Applications
If String.Equals(app.Path, "/" & appName, StringComparison.OrdinalIgnoreCase) Then
appPoolName = app.ApplicationPoolName
End If
Next
Next
If appPoolName Is Nothing Then
MessageBox.Show("Unable to find application " & appName)
End If
For Each wp In sm.WorkerProcesses
If wp.AppPoolName = appPoolName Then
Return wp.ProcessId
End If
Next
Return -1
End Function
然後:
Sub AttachToMyApp()
AttachToWorkerProcess("MyApp")
End Sub
相關問題
- 1. 如何重新加載jQuery,以便它可以用於下一個進程
- 2. 實例化一個對象,以便它可以與多個指令共享
- 3. 從字典中選擇一個隨機密鑰,以便它可以顯示
- 4. 你如何命名一個函數,以便你可以反思它?
- 5. 可以將Json數據放入一個值屬性,以便它可以顯示在窗體中?
- 6. 如何重命名Oracle中的主鍵,以便它可以重複使用
- 7. gdb可以自動附加一個SIGSEGV進程
- 8. WKWebView實例可以在加載時顯示網頁嗎?
- 9. String.replace()函數解析XML字符串,以便它可以顯示在HTML中
- 10. 一個靜態類可以在單個進程中多次實例化嗎?
- 11. SalesForce:它可以顯示一個外部頁面/它可以張貼到另一個SF實現
- 12. 您可以一次在屏幕上顯示多個CAEAGLLayer嗎?
- 13. 您可以在Windsor容器中註冊一個類型的現有實例嗎?
- 14. 我可以爲IIS6的w3wp.exe設置進程標題嗎?
- 15. pydev可以重構一個函數調用,以便使用命名參數嗎?
- 16. 您是否可以在單個實例上加載平衡多個ECS容器?
- 17. 您可以在一個「ALTER TABLE」命令中添加多個分區嗎?
- 18. Python,Django,存儲一個類名以便稍後實例化一個對象?
- 19. 我可以在實例化一個匿名類時實現一個接口嗎?
- 20. 顯示附加進程的DLL-符號
- 21. JFrame可以顯示進程嗎?
- 22. 您可以強制NSWindow加載,即在屏幕上顯示它之前嗎?
- 23. 一個類的實例可以用JavaScript代替它自己嗎?
- 24. 在它自己的實例中打開一個進程
- 25. 如何獲得類別的id,以便它可以添加到href url來顯示下一頁的類別
- 26. 我需要一個領域,您可以在SharePoint 2007中顯示一小時
- 27. 運行Visual Studio 2010實例並以編程方式附加到進程?
- 28. 您可以在PHP中提供真實世界的OOP示例嗎?
- 29. 編譯一個C庫,以便它可以在iPhone靜態庫中使用
- 30. 如何設置一個進程以便在另一個進程之後執行?