斷言使用,除錯巨集定義

2021-06-22 18:50:06 字數 342 閱讀 1836

除錯巨集定義,列印檔案,行數,函式名

#define debuglog(format, ...) nslog(@"\ndebug info:"format"\nfile:%s\nline:%d\nfunction:%s", ##__va_args__, __file__, __line__ , __function__);

使用nsparameterassert() 可斷言乙個結果是否為true 如果括號內的表示式返回假,那麼程式中斷,並且指出中斷所在的類,方法,行數等資訊。

在preprocessor macros中設定巨集ns_block_assertions可以遮蔽此斷言

ios 巨集定義除錯

nslog遮蔽輸出 使用nslog的乙個風險是 它的執行會占用時間和裝置資源。當我們用simulator時,nslog的資源占用並不引人注意,風險也不會顯示出來。但是如果你寫的是乙個即時戰略遊戲,而你在每乙個action中都加入了nslog 那麼nslog將成為乙個魔鬼。災難的具體表現常常是 你在s...

巧用巨集定義進行除錯

巧用巨集定義進行除錯 在進行程式設計時,有時我們往往不希望借住於除錯工具 如 gdb,vc 而以輸出除錯資訊的方式進行除錯時,我們就可以借住於強大的巨集定義來進行除錯。一 在gcc下的定義方法,因為gcc支援變引數的巨集定義,所以我們可以用如下定義 ifdef debug define dbg fo...

gdb 除錯巨集定義macro

c語言中的巨集定義,有著各種好處,當然也有它不好的一面。它實現的三個主要功能是 1 字串替換 2 標頭檔案包含 3 通用 模組的擴充套件 在 除錯時候,除錯巨集定義是比較麻煩的一件事,下面就介紹一種比較簡單的方法。include define max a,b a b a b define min a...