Ask Your Question
0

dump 발생시 처리방법에 대해 문의 드립니다. (2016-03-16, fatmoon)

asked 2016-11-30 16:55:50 +0900

inkeun.kim gravatar image

안녕하세요 스마트조이 입니다. 현재 visualGDB를 사용하여 윈도우 환경에서 개발중에 있습니다. 개발중 크러쉬가 발생하여 dump가 생성되었는데 visualstudio를 이용하여 처리할 수 없는지요? 처리시 Parameter cannot be null.이 발생합니다. 답변 부탁 드리겠습니다. 감사합니다.

edit retag flag offensive close merge delete

1 answer

Sort by » oldest newest most voted
0

answered 2016-11-30 16:58:13 +0900

inkeun.kim gravatar image

Answer by minsukim · 2016-03-16 AM 08:37

아마 덤프 파일이 생성되었다는 말씀으로 미루어 디버그로 돌리신게 아니라, 1) upstart 나 systemd 를 이용한 서비스 형태나, 2) 쉘에서 -local 이라고 이름되어있는 스크립트를 실행하셨거나, 아니면 3) Visual Studio 에서 실행하셨더라도 별도 프로세스로 돌리신 것 같은데 맞나요? (비주얼 스튜디오 상에서 죽게 되면 죽은 곳에서 자동으로 브레이크 포인트가 잡히기 때문에 일반적으로 비주얼 스튜디오에서 디버깅하시던 방법대로 하시면 됩니다)

만일 그러시다면, Visual Studio 상에서 해당 덤프를 보는 것은 어렵고 대신 Visual GDB 에서 리눅스 서버에 ssh 연결로 띄워주는 터미널 상에서 덤프 파일을 분석할 수 있습니다. 원래는 서버가 죽을 때 마지막에 "Run .... to display crash info" 라는 로그를 찍게 되는데 그걸 그대로 복붙하시면 되는데요, 만일 그냥 손으로 하실거면...

2) 3)번의 경우

Linux 상에서 빌드 되는 디렉토리로 이동하셔서, dumps 라는 서브디렉토리를 보시면 확장자가 dmp 인 파일이 있을 겁니다. (ls dumps/* 이렇게 해보시면 됩니다) 그 파일 하나가 크래쉬 하나에 따른 덤프 파일인데, 각 파일에 대해서 아래처럼 해주시면 됩니다.

 /usr/bin/funapi_stackwalk $PWD/dumps/<dmp 파일이름> $PWD/symbols /usr/share/funapi/symbols

만일 dmp 파일이 여러개 있으면 어떤게 이번에 죽은건지 헷갈릴 수 있기 때문에 확인 후에는 지워주시는 것이 좋을 것 같습니다. (그리고 참고로 위에 말씀드린대로 Run ... to display crash info 라는 메시지에 이번에 죽을 때 어떤 덤프 파일이 만들어졌는지가 로그로 남기 때문에 저 로그에서 복붙 하시는 경우는 바로 파일을 아실 수 있습니다)

1) 번의 경우: 위의 2)3) 경우와 같지만 경로만 다릅니다. 앞에서는 빌드 디렉토리 아래 dumps 라는 서브디렉토리에 파일이 만들어졌는데, 이 경우는 "/var/crash/funapi/프로젝트이름" 아래 만들어집니다. 그리고 심볼 파일은 /usr/share/프로젝트이름/default/symbols 에 생성됩니다. 그러니 실행하셔야 되는 코멘드는

 /usr/bin/funapi_stackwalk /var/crash/funapi/프로젝트이름/<dmp 파일이름> 
 /usr/share/프로젝트이름/default/symbols /usr/share/funapi/symbols

가 됩니다.

이 때 혹시 파일에 대한 읽기 원한이 없다고 나오면 sudo 라는 것을 앞에 붙여서

sudo /usr/bin/funapi_stackwalk...

이런식으로 입력하시면 됩니다. (sudo 는 수퍼유저 권한으로 실행하라는 뜻입니다)

혹시 이 경우가 아니라면 알려주시면 설명 주시면 답변 드릴 수 있도록 하겠습니다. 감사합니다.

edit flag offensive delete link more

Comments

fatmoon · 2016-03-16 AM 09:13 0 안녕하세요 스마트 조이입니다.

친절하고 상세하게 설명해주셔서 궁금한점이 해결되었습니다.

빠른 답변 감사합니다.

수고하세요

inkeun.kim gravatar imageinkeun.kim ( 2016-11-30 16:58:21 +0900 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2016-11-30 16:55:50 +0900

Seen: 98 times

Last updated: Nov 30 '16