728x90
반응형
질문 : 메서드 이름과 줄 번호를 인쇄하고 조건부로 NSLog를 비활성화하는 방법은 무엇입니까?
Xcode에서 디버깅에 대한 프레젠테이션을 진행 중이며 NSLog를 효율적으로 사용하는 방법에 대한 자세한 정보를 얻고 싶습니다.
특히 두 가지 질문이 있습니다.
- 현재 메서드의 이름 / 줄 번호를 쉽게 NSLog하는 방법이 있습니까?
- 릴리스 코드를 컴파일하기 전에 모든 NSLog를 쉽게 "비활성화"하는 방법이 있습니까?
답변
다음은 내가 많이 사용하는 NSLog 주변의 유용한 매크로입니다.
#ifdef DEBUG
# define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
# define DLog(...)
#endif
// ALog always displays output regardless of the DEBUG setting
#define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
DLog 매크로는 DEBUG 변수가 설정된 경우에만 출력하는 데 사용됩니다 (디버그 구성을위한 프로젝트의 C 플래그에서 -DDEBUG).
ALog는 항상 텍스트를 출력합니다 (일반 NSLog처럼).
출력 (예 : ALog (@ "Hello world"))은 다음과 같습니다.
-[LibraryController awakeFromNib] [Line 364] Hello world
출처 : https://stackoverflow.com/questions/969130/how-to-print-out-the-method-name-and-line-number-and-conditionally-disable-nslog
728x90
반응형
'개발관련 > other' 카테고리의 다른 글
명령 줄에서 R 스크립트 실행 (0) | 2021.06.22 |
---|---|
Node.js를 업데이트 하는 방법 (0) | 2021.06.17 |
Assert를 사용하여 예외가 발생했는지 확인하는 방법 (0) | 2021.06.16 |
Node.js를 사용하여 현재 스크립트의 경로를 얻는 방법 (0) | 2021.06.16 |
Deferreds 배열을 $ .when ()에 전달합니다. (0) | 2021.06.14 |