選擇偵錯引擎的實作策略
使用執行階段架構來決定您的偵錯引擎 (DE) 實作策略。 您可以對正在偵錯的程式建立偵錯引擎同處理序。 對 Visual Studio 工作階段偵錯管理員 (SDM) 建立偵錯引擎同處理序。 或者,對兩者建立偵錯引擎的跨處理序。 下列指導方針應可協助您在這三種策略間做出選擇。
指導方針
雖然 DE 可以跨處理序處理 SDM 和您要偵錯的程式,但通常沒有理由這樣做。 跨處理序界限的呼叫相當緩慢。
針對 Win32 原生執行階段環境和 Common Language Runtime 環境已有提供偵錯引擎。 如果您必須取代任一環境的 DE,您應該使用 SDM 建立 DE 同處理序。
否則,您可以對 SDM 建立 DE 同處理序,或對正在偵錯的程式建立同處理序。 您必須考慮 DE 的運算式評估工具是否需要經常存取程式符號存放區。 或者,符號存放區是否可以載入記憶體以快速存取。 還需考慮下列方法:
如果運算式評估工具與符號存放區之間沒有太多呼叫,或者如果符號存放區可以讀入 SDM 記憶體空間,請對 SDM 建立 DE 同處理序。 當偵錯引擎連結至程式時,您必須將偵錯引擎的 CLSID 傳回 SDM。 SDM 會使用此 CLSID 來建立 DE 同處理序執行個體。
如果 DE 必須呼叫程式以存取符號存放區,請使用程式建立 DE 同處理序。 在此情況下,程式會建立 DE 的執行個體。