中斷點相關的方法
如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件。
偵錯引擎 (DE) 必須支援的設定中斷點。 Visual Studio 偵錯支援下列類型的中斷點︰
繫結
透過 UI 要求且成功地繫結到指定的程式碼的位置
擱置
透過 UI,但不是尚未繫結至實際的指示要求
討論
例如,指示尚未載入時,就會發生暫止中斷點。 程式碼載入時,暫止中斷點嘗試繫結至程式碼在指定的位置,也就是,程式碼中插入中斷指示。 事件傳送到工作階段偵錯管理員 (SDM) 以表示成功繫結,或通知已繫結錯誤。
暫止中斷點也會管理自己的內部清單的對應繫結的中斷點。 一個暫止中斷點會造成許多中斷點插入的程式碼。 Visual Studio 偵錯 UI 會顯示暫止中斷點的樹狀檢視,其對應的繫結的中斷點。
建立及使用暫止中斷點需要實作IDebugEngine2::CreatePendingBreakpoint方法,以及下列的方法IDebugPendingBreakpoint2介面。
方法 | 說明 |
---|---|
CanBind | 判斷指定暫止中斷點可以繫結至程式碼位置。 |
繫結 | 繫結指定暫止中斷點到一或多個程式碼位置。 |
GetState | 取得暫止中斷點的狀態。 |
GetBreakpointRequest | 取得用來建立暫止中斷點的中斷點要求。 |
啟用 | 切換暫止中斷點的啟用的狀態。 |
EnumBoundBreakpoints | 列舉所有繫結從暫止中斷點的中斷點。 |
EnumErrorBreakpoints | 列舉所有錯誤中斷點所產生的暫止中斷點。 |
刪除 | 刪除暫止中斷點和從它繫結的所有中斷點。 |
若要列舉的繫結的中斷點和錯誤的中斷點,您必須實作的所有方法IEnumDebugBoundBreakpoints2和IEnumDebugErrorBreakpoints2。
暫止中斷點繫結至程式碼的位置需要實作下列IDebugBoundBreakpoint2方法。
方法 | 說明 |
---|---|
GetPendingBreakpoint | 取得包含中斷點暫止中斷點。 |
GetState | 取得繫結中斷點的狀態。 |
GetBreakpointResolution | 取得描述中斷點的中斷點解析度。 |
啟用 | 啟用或停用中斷點。 |
刪除 | 刪除繫結的中斷點。 |
解析度及要求資訊需要實作下列IDebugBreakpointResolution2方法。
方法 | 描述 |
---|---|
GetBreakpointType | 取得中斷點表示解析的型別。 |
GetResolutionInfo | 取得描述中斷點的中斷點解析資訊。 |
繫結期間可能發生之錯誤的解決方式都必須實作下列IDebugErrorBreakpoint2方法。
方法 | 說明 |
---|---|
GetPendingBreakpoint | 取得包含錯誤中斷點暫止中斷點。 |
GetBreakpointResolution | 取得描述錯誤中斷點的中斷點錯誤解決方式。 |
繫結期間可能發生的錯誤解決也需要下列的方法IDebugErrorBreakpointResolution2。
方法 | 說明 |
---|---|
GetBreakpointType | 取得中斷點的類型。 |
GetResolutionInfo | 取得中斷點的解析資訊。 |
檢視在中斷點的原始程式碼會要求您實作的方法IDebugStackFrame2::GetDocumentContext和 (或) 的方法IDebugStackFrame2::GetCodeContext。