none
.net C# 的中斷點停不下來.. RRS feed

  • 問題

  • 各位先進,

    我最近碰到一個問題, VS2008寫 C# WebForm 時,原本可以在 .CS 程式碼中加上中斷點,再利用 Debug 去 Trace 程式的,
    但最近發現中斷點突然沒有作用了,怎麼樣就是停不下來,不知有沒有人碰過類似的問題 ?

    Regards,
    Wilson
    2009年7月14日 上午 07:37

解答

  • 不知道有沒有可能是這種情況 , 您參考看看:
    http://social.msdn.microsoft.com/Forums/zh-TW/236/thread/c76d131b-17b3-4305-9298-bfe4db338117

    微軟技術支援中心(CSS) - http://www.dotblogs.com.tw/lolota/
    2009年7月16日 上午 10:35
  • Hi Lolota,

    按以下指令加入
    1)  Open RegEdit
    2)  Browse to HKEY_LOCALMACHINE -> SOFTWARE -> Microsoft -> Internet Explorer -> Main
    3)  Add a dword under this key called TabProcGrowth
    4)  Set TabProcGrowth to 0

    然後把 IE8 的安全設定的 "啟用受保護模式" 取消,即可將 IE8 配合 debugger 使用。
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    這個"啟用受保護模式" 沒看到嘞..

    然後發現很好玩的事...
    按下 [Debug] 的按鈕後, 會出現二個 ASP.NET 程式開發伺服器
    怪怪的..

    再看了一下, 我的方案中有二個 Web 專案, 不知道會不會有問題..
    試著把一個當初用來參考寫程式的 Web 專案移除..

    再試一次 Debug ... 正常囉...  


    Wilson
    • 已編輯 Wilson.Shen 2009年7月16日 上午 11:14 按以下指"令"才對..
    • 已標示為解答 Lolota Lee 2009年7月20日 上午 03:15
    • 已取消標示為解答 Wilson.Shen 2009年7月21日 上午 09:50
    • 已標示為解答 Lolota Lee 2009年7月22日 上午 04:10
    2009年7月16日 上午 11:08

所有回覆

  • 1. 確認為 Debug 模式而非 Realse 模式。
    2. 以 F11 逐步執行,確認邏輯是否會經過中斷點。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    2009年7月14日 上午 08:17
  • HI,

    如果ASP.NET網站已經部署到IIS伺服器, 請檢查ASP.NET網站是否有勾選[整合式Windows驗証]
    2009年7月15日 上午 08:13
  • 1. 確認為 Debug 模式而非 Realse 模式。
    2. 以 F11 逐步執行,確認邏輯是否會經過中斷點。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務

    Hi 心冷熱情熄 ,

    我是從 VS2008 中, 按下工具列的 Debug 按鈕,
    因為是 vs 新手, 不能確定這是不是你說的 Debug 模式.
    我的 Project 設定 Web / 伺服器 使用 Visual Studio 程式開發伺服器

    因為我中斷點是設在 Button Click 的程序裏面.
    而且後面的程序都執行完了.
    就是只有中斷點沒做用.

    是否在 IE 中還有什麼設定 ?

    Thanks

    Wilson
    2009年7月16日 上午 04:21
  • 不是很了解..  因為還沒部署到 IIS Server

    請問 ASP.NET 網站部署到 IIS伺服器 還可以使用中斷點 Trace 程式嗎 ?


    Thanks,
    Wilson
    2009年7月16日 上午 04:23
  • 工具列有 Debug 下拉式選單,不是按鈕... 不知是否為同一個。

    部署到 IIS 分成兩種,本機可直接除錯,遠端可查線上手冊關於遠端除錯章節。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    2009年7月16日 上午 07:15
  • HI,

    未部署到IIS的ASP.NET網站可以直接偵錯, 若不能偵錯, 可以將ASP.NET程式開發伺服器(在右下角)停掉, 再重新偵錯網頁, 如果還不行, 請確定按下Button會有執行到欲偵錯的程式
    2009年7月16日 上午 07:51
  • HI,

    未部署到IIS的ASP.NET網站可以直接偵錯, 若不能偵錯, 可以將ASP.NET程式開發伺服器(在右下角)停掉, 再重新偵錯網頁, 如果還不行, 請確定按下Button會有執行到欲偵錯的程式

    Hi Tihs,

    感謝您的說明,
    我直接 PO 畫面上來給大家一起看.
    如下圖
    我很確定是用 Debug 模式, 且中斷點一定會經過 ,
    不知道還有什麼設定會影響中斷點的 ( eg. IE8 設定 .. )


    Wilson
    2009年7月16日 上午 10:27
  • 不知道有沒有可能是這種情況 , 您參考看看:
    http://social.msdn.microsoft.com/Forums/zh-TW/236/thread/c76d131b-17b3-4305-9298-bfe4db338117

    微軟技術支援中心(CSS) - http://www.dotblogs.com.tw/lolota/
    2009年7月16日 上午 10:35
  • Hi Lolota,

    按以下指令加入
    1)  Open RegEdit
    2)  Browse to HKEY_LOCALMACHINE -> SOFTWARE -> Microsoft -> Internet Explorer -> Main
    3)  Add a dword under this key called TabProcGrowth
    4)  Set TabProcGrowth to 0

    然後把 IE8 的安全設定的 "啟用受保護模式" 取消,即可將 IE8 配合 debugger 使用。
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    這個"啟用受保護模式" 沒看到嘞..

    然後發現很好玩的事...
    按下 [Debug] 的按鈕後, 會出現二個 ASP.NET 程式開發伺服器
    怪怪的..

    再看了一下, 我的方案中有二個 Web 專案, 不知道會不會有問題..
    試著把一個當初用來參考寫程式的 Web 專案移除..

    再試一次 Debug ... 正常囉...  


    Wilson
    • 已編輯 Wilson.Shen 2009年7月16日 上午 11:14 按以下指"令"才對..
    • 已標示為解答 Lolota Lee 2009年7月20日 上午 03:15
    • 已取消標示為解答 Wilson.Shen 2009年7月21日 上午 09:50
    • 已標示為解答 Lolota Lee 2009年7月22日 上午 04:10
    2009年7月16日 上午 11:08
  • 你發問的時間是 2009年7月14日 上午 07:37,結果你一直到 2009年7月16日 上午 10:27 才說出你用的是 IE8,也就是你擺了這裡所有回答人的道,足足兩天的時間...


    小人物一枚。
    2009年7月21日 上午 09:08
    版主
  • 你發問的時間是 2009年7月14日 上午 07:37,結果你一直到 2009年7月16日 上午 10:27 才說出你用的是 IE8,也就是你擺了這裡所有回答人的道,足足兩天的時間...


    小人物一枚。

    Hi 小朱,

    請問這個與 IE8 有關嗎 ? 因為我一直是使用 IE 8 , 一直都是正常的,
    直到上週才碰到這個問題..

    且因為我再繼續測試這個問題時, 有發現就算我把另一個 Web Project 移除與否, 都會碰到這個問題,

    請我們同事來看, 也看不出所以然來, 還是時可用時不可用,

    也測試過把 TabProcGrowth Register Key 拿掉, 發現中斷點還是可以用

    且與 IE 8 指令碼除錯 參數沒有關係..

    不知道您是否有這方面的經驗可供分享..

    Thanks,


    Wilson
    2009年7月21日 上午 09:50
  • IE8 會有無法啟動除錯器的問題(on Visual Studio 2005)。

    基本上,跑不到中斷點可能的原因有幾個:

    1. 程式沒呼叫到。
    2. 除錯器沒有被附加到伺服器行程(server-side code)。
    3. 除錯器沒有被附加到瀏覽器行程(client-side code)。
    4. 除錯器自己本身有問題。

    不過我也用IE8,卻從沒碰過你的問題,所以也有可能是環境差異。

    但不管怎麼樣,問問題要交代清楚你自己的環境,省得到時又是雞同鴨講。


    小人物一枚。
    2009年7月21日 上午 10:25
    版主


  • 所以這個問題可能是因為 IE8 本身的問題,

    1. VS2008 相同的 C# Code ,
    2. 確定程式會呼叫到,
    3. 不論 IE8 指令碼除錯是否有開啟或關閉
    4. VS2008 SP1 重裝&Reset 過
    5. 與 Solution 中有幾個 Web Project 無關
    6. 中斷點時可中斷, 時不可中斷
    7. OS 環境是 Server 2003 SP2


    Thanks,

    Wilson
    2009年7月22日 上午 02:59
  • 這問題的確是IE8造成的.
    所以才要改機碼去做處理.
    微軟技術支援中心(CSS) - http://www.dotblogs.com.tw/lolota/
    2009年7月22日 上午 04:11
  • Hi Lolota,

    謝謝您的說明, 我會再多做幾個完整的測試後再上來PO心得..
    但我之前確實測試是加上機碼還是不行..

    Wilson
    2009年7月22日 上午 04:14
  • Hi,


    啟用受保護模式應該是下列這個項目:

    微軟技術支援中心(CSS) - http://www.dotblogs.com.tw/lolota/
    2009年7月22日 上午 05:15