在 #if DEBUG 和 #endif 括起来的区域内的代码,仅会在debug模式下运行,这样就完全不用担心忘记删除代码上线的情况了。 #ifDEBUGButton{appDelegate.showRemindWindow()}label:{Text("showReminder")}#endif 我在Eye Monitor 的代码中增加这段内容后,在 Xcode 编译时选择 debug 模式,就会出现下图右上方的”showRe...
然而,最近我发现使用#if DEBUG更为高效。只需将需要在调试模式下显示的代码包裹在#if DEBUG和#endif之间,它就会在编译时根据debug模式的开关来决定是否执行这部分内容。这样就避免了忘记删除测试代码导致的潜在问题。在我的Eye Monitor项目中,当我在Xcode中选择debug模式编译时,会看到右上角新增的"show...
Xcode 的正确打开方式——Debugging 程序员日常开发中有大量时间都会花费在 debug 上,从事 iOS 开发不可避免地需要使用 Xcode。这篇博客就主要介绍了 Xcode 中几种能够大幅提升代码调试效率的方式。 “If debugging is the process of removing bugs, then programming must be the process of putting them in.” ...
有人会疑问这个DEBUG和_DEBUG来自哪里,这个其实不用担心,这个来自于Xcode的默认设置,我们可以取消DEBUG模式,开启RELEASE发布模式,如下截图所示, 选择Product->Scheme->Edit Scheme, 下图可以选择Debug和Release两种模式, 这里我选择了Release,那么则默认没有定义Debug,则上面代码中#if...#endif之间的输出NSLog不会执行。
在我认识条件断点之前我都是在代码中加一个if,然后在if里面写一行log,最后在调试的时候在log那一行下断点的,不知你当年是怎么下的。 条件断点和普通断点相比起来只是多了一个条件而已,右键普通断点 -> Edit Breakpoint 这样一来只有满足条件的情况下断点才会断下来,条件断点对于一个函数重复多次但是只需要调试其中某...
便很早前就将程序设置为debug模式。 现在看来真是愚蠢之极。 不知道有多少次,我在调试bug的时候,判断空指针用了如下的代码 if(var == nil) { NSLog(@"var==nil,fuck!"); } 浪费了多少书写时间,bug调试完毕我又得注释或者删除之。 这都是我流过的汗水,花过我的时间,证明过我曾为程序的健壮性而努力过...
define NSLogDebug(format, ...) endif 3.swift #ifDEBUGprintln("I'm running in DEBUG mode")#elseprintln("I'm running in a non-DEBUG mode")#endif Additionally you will need to set the DEBUG symbol in Swift Compiler - Custom Flags section for the Other Swift Flags key via a -D DEBUG...
{ #if DEBUG zs.log(level: level, "\(message)") #endif } static func lsLog(level: OSLogType, _ message: String) { #if DEBUG ls.log(level: level, "\(message)") #endif } static func wwLog(level: OSLogType, _ message: String) { #if DEBUG ww.log(level: level, "\(message)...
便很早前就将程序设置为debug模式。 现在看来真是愚蠢之极。 不知道有多少次,我在调试bug的时候,判断空指针用了如下的代码 if(var == nil) { NSLog(@"var==nil,fuck!"); } 浪费了多少书写时间,bug调试完毕我又得注释或者删除之。 这都是我流过的汗水,花过我的时间,证明过我曾为程序的健壮性而努力过...
12 if (columnShapeLayerArray.count > 0) { 13 for (CAShapeLayer *layer in columnShapeLayerArray) { 14 [layer removeFromSuperlayer]; 15 } 16 } 17 18 //把之前添加的线 移除掉 19 if (lineArray.count > 0) { 20 for (CAShapeLayer *lineLayer in lineArray) { ...