OS X 10.6.8에서 실행중인 NPAPI 플러그인을 디버깅하고 싶습니다. FireFox 3.6.19를 사용하여로드 할 때 활성 실행 파일을 FF로 설정하고 FF를 시작한 다음 Xcode를 사용하여 연결하면 중단 점이 예상 된 시간에 실행됩니다.Safari 5.1 NPAPI 플러그인에서 XCode/GDB를 깨뜨리는 방법은 무엇입니까?
Safari 5.1을 사용할 때 플러그인이 작동하지 않는 것을 볼 수 있으므로 /System/Library/PrivateFrameworks/WebKit2.framework/PluginProcess.app에 대한 고객 실행 파일을 만들고 활성화했습니다. 그런 다음 Safari를 시작하고 플러그인을 호스팅하는 페이지로 이동 한 다음 플러그 인 프로세스에 연결 한 다음 중단 점과 같은 UI를 사용합니다.하지만 실행되지는 않습니다. 나는 UI에서 플러그가 확실히로드되었음을 알 수 있습니다. 하여 프로세스를 일시 정지, 내가 참조 :
(gdb) i b
Num Type Disp Enb Address What
1 breakpoint keep y <PENDING> "ADP_NPAPI_Interface.m":34
2 breakpoint keep y <PENDING> "ADP_NPAPI_Interface.m":34
3 breakpoint keep y <PENDING> "ADP_NPAPI_Interface.m":34
4 breakpoint keep y <PENDING> "plugin.cpp":244
5 breakpoint keep y <PENDING> "plugin.cpp":358
6 breakpoint keep y <PENDING> objc_exception_throw
(gdb) show directories
Source directories searched: $cdir:$cwd
(gdb) info sources
No symbol table is loaded. Use the "file" command.
(gdb) file sources
sources: No such file or directory
(gdb) info file
No registers.
No registers.
(gdb) show paths
Executable and object file path: /Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin
DEBUG_INFORMATION_FORMAT = 난쟁이 -와 - dsym. 내 이해는 기호가 플러그인에있을 것이므로 gdb가 내 소스 파일을 찾을 수 없다고 생각합니다. 당신의 도움에 미리
감사합니다, 데이브 내가 FireBreath 플러그인으로 가끔 사용했다
이것은 실제로 질문에 대답하지 않습니다. OP가 성공적으로 부착되었지만 기호 정보가 누락 된 경우 지시 사항은 첨부 용입니다. (또한 이런 종류의 해킹은 초기화를 디버그해야하는 경우에만 필요합니다. 그렇지 않으면 일시 중지 할 필요가없고 연결할 때까지 기다릴 필요가 없습니다.) – smorgan
아, 그는 내가 대답 한 이후 추가 정보를 추가했습니다. 나는 그가 올바른 과정에 붙어 있지 않았다고 믿었다. 음, 어쨌든 누군가를위한 유용한 정보이므로 시간 낭비가되지 않았습니다. – taxilian