NSLog 输出文件名、方法名、行号
项目中经常会需要根据日志输出来寻找源代码,通过以下方法可以让它自动输出文件名、方法、行号,非常方便。
找到项目的pch文件,添加以下内容即可: ...为三个英文句号(复制粘贴后可能会变化)。
/** * 日志输出 */ #ifdef DEBUG # define NSLog(fmt, ...) NSLog((@"[文件名:%s]\n" "[函数名:%s]\n" "[行号:%d] \n" fmt), __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__); #define debugMethod() NSLog(@"%s", __func__) #else #define NSLog(...) #define debugMethod() #endif
NSLog 输出文件名、方法名、行号的更多相关文章
- C# log4net输出发生错误的行号
		
别人调用我写的接口,总是报错,但我这测试是没问题的,就想着用log4net来跟踪一下. 跟踪后,发现接口确实有出错的日志,但是没有具体出错的地方. 通过输出日志的方式,跟踪不是很方便,就想着log4n ...
 - 网上都没有提到的教程:python捕获异常后,怎么输出错误文件和行号
		
1.假设输出不存在的变量 a try: print(a) except NameError as e: print('发生错误的文件:', e.__traceback__.tb_frame.f_glo ...
 - Perl一行式:处理行号和单词数
		
perl一行式程序系列文章:Perl一行式 所有行的行号 $ perl -pe '$_ = "$. $_"' file.log $ perl -ne 'print "$. ...
 - C#获取堆栈信息,输出文件名、行号、函数名、列号等
		
命名空间:System.Diagnostics 得到相关信息: StackTrace st = new StackTrace(new StackFrame(true));StackFrame sf = ...
 - 【Exception】查看异常出现在具体的文件名/类名/方法名/具体行号
		
今天在处理异常日志保存过程中,想要获取到异常抛出在具体在那个文件,哪个类下的哪个方法中的具体第几行,所以具体实现如下 try{ Integer adminID = Integer.parseInt(a ...
 - c++/c 获取cpp文件行号跟文件名
		
编译器内置宏: 先介绍几个编译器内置的宏定义,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息. ANSI C标准中有几个标准预定义宏(也是常用的): ...
 - C++日志之获取函数的名字,行号,文件名
		
在后台程序运行出问题时,详尽的日志是抓错不可缺少的帮手,这里提供一个能自动记录日志触发点文件名.行号.函数名的方法,关键是利用C99新增的预处理标识符__VA_ARGS__ 先介绍几个编译器内置的宏定 ...
 - JAVA中获取当前运行的类名,方法名,行数
		
JAVA中获取当前运行的类名,方法名,行数 public static String getTraceInfo(){ StringBuffer sb = new StringBuffer(); Sta ...
 - log4j日志文件名与行号显示乱码? 问号? 参数问号? 日志问号?【转】【补】
		
log4j本来设置了要打印行号与文件名的,结果有的能打印出来,有的却是乱码,查了些文档之后才发现,原来打印问题是因为编绎时没有编绎进去调试信息,所以没办法打印,好像有的系统又会显示(Unknown S ...
 
随机推荐
- 原版Windows XP Pro With SP3 VOL MSDN简体中文专业版
			
2008年5月2日,微软推出Windows XP Pro With SP3 VOL MSDN x86 32位简体中文专业版,这是最经典也是我最喜爱的操作系统之一.在MSDN(微软开发者网络)的网站上查 ...
 - Delphi中methodaddress的汇编代码解析
			
class function TObject.MethodAddress(const Name: ShortString): Pointer;asm { -> EAX ...
 - c++多线程编程之互斥对象(锁)的使用之----死锁
			
一.死锁会在什么情况发生 1.假设有如下代码 mutex; //代表一个全局互斥对象 void A() { mutex.lock(); //这里操作共享数据 B(); //这里调用B方法 mu ...
 - dataset 用法(2)
			
1.为DataTable添加列 (1)添加列 DataTable tbl = ds.Tables.Add("User"); DataColumn col =tbl.Columns ...
 - C#反射调用程序集类中方法
			
建立类 class OperatorClass { /// <summary> /// 加法 /// </summary> /// <param name="x ...
 - oracle 11g常用命令
			
1.监听启动监听lsnrctl start停止监听 lsnrctl stop 查看监听状态 lsnrctl status 2.启动用oracle用户进入su - oracle运行sqlplus命令,进 ...
 - 关于响应式、媒体查询和media的关系 、流媒体布局flex 和em rem像素的使用 我有一些废话要讲.....
			
一.什么是响应式 随着移动端越来遇火 网站的布局成为一个热议的话题 有的人喜欢用手机浏览网站.有的人喜欢用paid浏览网站.有人喜欢用电脑浏览网站 那么问题来了 我们怎么样才能使用一套css样式 完成 ...
 - 5分种让你了解javascript异步编程的前世今生,从onclick到await/async
			
javascript与异步编程 为了避免资源管理等复杂性的问题,javascript被设计为单线程的语言,即使有了html5 worker,也不能直接访问dom. javascript 设计之初是 ...
 - hdu 3529 Bomberman - Just Search! 重复覆盖
			
题目链接 依然是重复覆盖的模板.... #include<bits/stdc++.h> using namespace std; #define pb(x) push_back(x) #d ...
 - Use API to  retrieve data from internet
			
Reference: Working with APIs Many big companies and organizations provide API for us to retrieve dat ...