使用跟蹤和除錯進行條件編譯

2021-07-14 09:00:20 字數 856 閱讀 7780

當在開發過程中除錯應用程式時,跟蹤和除錯輸出都會出現在 visual studio 的「輸出」視窗中。不過,若要在已部署的應用程式中包含跟蹤功能,則必須在啟用trace編譯器指令的情況下編譯已插入檢測點的應用程式。這樣就可以將跟蹤**編譯成應用程式的發布版本。如果未啟用trace指令,將在編譯過程中忽略所有跟蹤**,並且不會將其包含在將部署的可執行**中。

跟蹤方法和除錯方法都具有關聯的條件屬性。例如,如果跟蹤的條件屬性為true,所有跟蹤語句都將包含在乙個程式集(經過編譯的 .exe 檔案或 .dll)中;如果trace條件屬性為false,則不會包括跟蹤語句。

您可以為乙個版本開啟或關閉trace和/或debug條件屬性。這樣就會有四種版本:debugtrace、二者或二者都不是。某些用於生產部署的發布版本可能不包含這兩種屬性;大多數除錯版本會同時包含這兩種屬性。

您可以通過幾種方式來指定應用程式的編譯器設定:

右擊「解決方案資源管理器」中的專案節點。

從快捷選單中選擇「屬性」

從源**中刪除編譯器指令。

- 或 -

注釋掉編譯器指令。

當準備進行編譯時,可以從「生成」選單中選擇「生成」,或者使用命令列方法但不鍵入d:,以定義條件編譯符號。

**msdn

使用go build 進行條件編譯

當我們編寫的go 依賴特定平台或者cpu架構的時候,我們需要給出不同的實現 c語言有預處理器,可以通過巨集或者 define包含特定平台指定的 進行編譯 但是go沒有預處理器,他是通過 go build包 裡定義的tags和命名約定來讓go的包可以管理不同平台的 這篇文章將講述go的條件編譯系統是如...

在OD中使用條件斷點進行除錯

最近在逆向hr防毒軟體,感覺壓力很大,但是還好有前人已經幫助我們探過路了,並且也有大佬分享了一些經驗,讓我們逆向分析起來可以不用踩那麼多坑,這裡我就簡單的是記錄下我在逆向過程中,發現自己的一些問題,幫助自己成長。在od使用過程中,為了能夠快速斷在指定解密 處,我就在讀寫檔案處下斷,再逐步跟call,...

編譯可單步跟蹤除錯的mplayer

1.準備兩份mplayer,乙份為 mplayer work,乙份為 mplayer bak 2.執行 mplayer bak configure 3.vim mplayer work configure,去掉裡面所有的優化選項,o2 o3 o4 4.mplayer work configure e...