linux c gdb args[0] 경로문제
글쓴이: haebi / 작성시간: 월, 2022/07/11 - 9:56오전
안녕하세요
리눅스 C 환경에서 개발중인데 디버깅 문제 때문에 문의글 남기게 되었습니다
gcc 로 컴파일한 바이너리를 내부 동작 확일을 위해서 gdb 상에서 불렀더니 오류가 나서 확인해 보았더니
argv[0] <-- 이 부분에 들어가는 값이...
그냥 실행했을때는 바이너리 명칭만 들어가는데
gdb 에서 실행하면 절대경로가 들어가더라구요 ㅠㅠ
gdb 에서도 상대경로가 들어가도록 할려면 어떻게 해야 하는지 방법이 있는지 궁금합니다
좀 아닌 것 같지만... argv[0] 에 값을 하드코딩으로 덮어쓰던가 해서 디버깅 돌리는 방법 밖에는 없는 것 같기도...
Forums:
뭘 하려고 하는지 모르겠지만, 어차피 실행을
뭘 하려고 하는지 모르겠지만, 어차피 실행을 절대경로로 하면 절대경로로 들어가죠
감사합니다
strtok() 함수로 '/' 파싱해서 맨 마지막거 가져왔는데 이런 간단한 방법이 있었군요
코드 줄 수가 줄어들었습니다 ^^
실행파일명.YYYYMMDD.log 형식의 파일을 만들어서 로그 남기는 부분이 있는데 실행파일명을 8자리만 가져옵니다
이 부분에 /temp/demon/amon/실행파일명 으로 들어가면 8자리 잘려서 /temp/de 만 출력이되고
해당 위치에 생성 권한이 없으니 오류가 나는 부분이었습니다
댓글 달기