strace
을 사용하여 이진 프로그램이 메모리를 사용하는 방법을 이해하려고합니다.strace는 문자열 값의 값 대신에 주소를 출력하는 방법은 무엇입니까?
그러나 기본 출력 인 strace
은 사용자 편의를 위해 각각 char *
버퍼를 해당 문자열로 인쇄합니다.
read(3, "Tell me, Muse, of that man of ma"..., 4096) = 270
다음 그 내용에 문자열의 실제 주소를 인쇄 할 strace
을 알 수있는 방법이 있습니까?
양쪽 모두 가질 수없는 경우 잘린 내용 대신 문자열의 주소 만 인쇄해도 괜찮습니다.
나는 strace (1)이 사용되는 방법이라고 생각하지 않습니다. 대신 ltrace와 gdb를 살펴볼 수도 있습니다. –
어쩌면 지원되지 않을 수도 있지만, 설명하는 내용이 strace의 범위를 벗어나는 것입니다. 이미 작업을 수행하지만 필요한 형식으로 정보를 인쇄하지 않습니다. 나는 이미 ltrace를 검사했으며 동일한 동작을합니다 (즉, char * 버퍼가 문자열로 인쇄 됨). gdb는 내가 원한 것이 아닌 대화식 디버깅을위한 것입니다. – m000