쿠분투 12.04에서 NetBeans 7.1과 Qt 4.8 프로그램 (http://code.google.com/p/image-feature-detector/)을 코딩하고 있습니다. (쿠분투 11.10에서도 마찬가지입니다) 컴파일 된 실행 파일을 실행하려고 할 때 maddening 오류가 발생합니다. 이 프로그램은 완벽하게 컴파일되고 실행되었지만 갑자기 언젠가는 컴파일을 마친 후에 실행하려고 할 때이 오류가 발생합니다. 내가 sudo
없이 실행 파일을 실행 내가 할 경우오류/var/tmp/kdecache는 uid 0 대신 uid 1000이 소유합니다.
error /var/tmp/kdecache-myuser is owned by uid 1000 instead of uid 0
: 나는 kdesudo
와 실행 파일을 실행하면
Segmentation fault (core dumped)
을 그리고 후에, 나는 sudo
와 실행 파일을 실행하면
이
은 내가 가진 무엇 암호를 묻는 메시지가 나타나면 아무 것도 나타나지 않습니다._ZN15QAbstractButton10setCheckedEb()
Stops here->_ZN15QAbstractButton10setCheckedEb+22: mov 0x8(%rdi),%rbp
_ZN15QAbstractButton10setCheckedEb+26: mov %esi,%r12d
_ZN15QAbstractButton10setCheckedEb+29: movzbl 0x214(%rbp),%eax
_ZN15QAbstractButton10setCheckedEb+36: test $0x1,%al
_ZN15QAbstractButton10setCheckedEb+38: je 0x7ffff74a10d0 <_ZN15QAbstractButton10setCheckedEb+192>
_ZN15QAbstractButton10setCheckedEb+44: mov %eax,%edx
_ZN15QAbstractButton10setCheckedEb+46: shr %dl
_ZN15QAbstractButton10setCheckedEb+48: and $0x1,%edx
_ZN15QAbstractButton10setCheckedEb+51: cmp %sil,%dl
_ZN15QAbstractButton10setCheckedEb+54: je 0x7ffff74a10d0 <_ZN15QAbstractButton10setCheckedEb+192>
_ZN15QAbstractButton10setCheckedEb+60: test %sil,%sil
_ZN15QAbstractButton10setCheckedEb+63: je 0x7ffff74a1100 <_ZN15QAbstractButton10setCheckedEb+240>
_ZN15QAbstractButton10setCheckedEb+69: mov %rsp,%rdi
_ZN15QAbstractButton10setCheckedEb+72: mov %rbx,(%rsp)
_ZN15QAbstractButton10setCheckedEb+76: callq 0x7ffff70bd220 <[email protected]>
_ZN15QAbstractButton10setCheckedEb+81: movzbl 0x214(%rbp),%eax
_ZN15QAbstractButton10setCheckedEb+88: mov %r12d,%edx
_ZN15QAbstractButton10setCheckedEb+91: and $0x1,%edx
_ZN15QAbstractButton10setCheckedEb+94: add %edx,%edx
_ZN15QAbstractButton10setCheckedEb+96: and $0xfffffffd,%eax
_ZN15QAbstractButton10setCheckedEb+99: or %edx,%eax
_ZN15QAbstractButton10setCheckedEb+101: test $0x20,%al
_ZN15QAbstractButton10setCheckedEb+103: mov %al,0x214(%rbp)
_ZN15QAbstractButton10setCheckedEb+109: je 0x7ffff74a10e8 <_ZN15QAbstractButton10setCheckedEb+216>
_ZN15QAbstractButton10setCheckedEb+111: mov %rbp,%rdi
_ZN15QAbstractButton10setCheckedEb+114: callq 0x7ffff749f9f0
_ZN15QAbstractButton10setCheckedEb+119: cmpq $0x0,(%rsp)
내가 실험과 소유권을 변경 : 내가 프로그램을 디버깅 할 경우
, 디버그 넷빈즈 나를 보여주는 프로그램이 분해 부분의 두 번째 줄에서 소스 코드의 라인에 도달하기 전에 중지 /var/tmp/kdecache-myuser/
~ root
(uid 0)입니다. 그런 다음 sudo
으로 실행 파일을 실행하고 sudo
없이 프로그램을 실행하면 "Segmetation fault"오류가 발생합니다. 또한 원래 /var/tmp/kdecache-myuser/
폴더의 사용 권한을 변경하면 새 /var/tmp/kdecache-looksLikeMd5Number/
폴더가 myuser
권한으로 생성됩니다.
나를 미치게 만드는이 오류를 해결하는 방법에 대한 제안을 보내 주시면 감사하겠습니다.
음, 이것은 null을 가리키는 포인터와 관련이 있어야한다고 생각합니다. – AxeEffect
적어도이 부분 ("오류 :"/ var/tmp/kdecache-computeruser "uid 0 대신 uid 1000이 소유 한 이유)에 대한 내 답글을 참조하십시오. 코드에서 다음과 같은 문제가있는 것 같지 않습니다. null 포인터 ... 같은 문제가 kdialog에 존재하지 않는 한. – MountainX