2011-07-26 3 views
0

이 경고 메시지는 "문자열 리터럴 및 형식 인수가 아닌 형식"이지만 어떤 행 메시지가 나타나는지 표시하지 않습니다. 내 응용 프로그램을 디버깅하고 실행할 때 표시됩니다. 내 파일 이름은 addaccount.m이며 일부 헤더 파일이 연결되어 있습니다.경고 메시지 "형식이 문자열 리터럴 및 형식 인수가 없습니다."

왜 줄 번호가 표시되지 않습니까? 그것은 당신 같은 소리 미리

답변

1

덕분에 나쁜 NSLog 함수 호출을 가지고있다. 프로젝트에서 NSLog을 검색하고 그 것이 맞는지 확인하십시오.

+0

으로 NSLog를 대체 이제까지 NSlog이 꺼져 있습니다. 왜 줄 번호가 보이지 않는거야? –

+0

특히 이것은 통제되지 않은 형식 문자열 취약점을 다시 경고합니다 : http://en.wikipedia.org/wiki/Format_string_vulnerabilities 다른 말로하면 형식 지정자를 매개 변수로 전달하면 나쁜 일이 발생할 수 있습니다. 형식 지정자 수가 매개 변수 수와 일치하지 않을 수도 있습니다. – Jano

1

pch 파일 (공통 헤더)이 아래와 같이 nslog에 대한 매크로를 정의하는 경우. 줄 번호가 나타납니다.

# define CustomLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__); 

그리고 때 CustomLog

관련 문제