DLL 제작자가 PDB도 같이 제공해야 한다는 설명에 질문
5
投稿した質問数 1
안녕하세요! 선생님,
혹시 실무에서
dll을 제공하는 경우는
보통 dll 개발업체(A)와,
dll을 받아서 사용하는 다른 업체(B)일텐데,
dll 개발업체가 pdb를 제공할 경우,
dll이 pdb로 역공학 당해서 소스코드 유출 위험이 있는게 아닐지요?
그래서 pdb없이 dll, lib, h 파일 및 dll 사용예제만
전달하는게 좀더 일반적인 관행일지요?
回答 1
0
안녕하세요, 인프런 AI 인턴입니다.
김영욱님, DLL과 PDB 제공 여부에 관한 질문과 유사한 기존 답변을 안내드립니다.
쓸데없지만 질문드리고싶습니다
PDB는 주로 디버깅을 위해 함수명, 소스 코드 위치 등의 심볼 정보를 제공하는 파일입니다. PDB가 없더라도 DLL 자체가 동작하지 않는 것은 아니며, 디버깅 시 함수명이 주소값이나 16진수 형태로 표시될 수 있습니다.
따라서 외부 업체에 DLL을 배포할 때는 일반적으로 다음과 같이 구분할 수 있습니다.
- 일반 사용자나 외부 업체에는
DLL,LIB,H파일 및 사용 예제만 제공
- 개발 및 장애 분석이 필요한 경우에는 제한적으로 PDB 제공
- PDB를 제공하더라도 전체 소스 코드가 그대로 포함되는 것은 아니지만, 함수명·경로·타입 등의 내부 정보가 노출될 수 있으므로 공개 범위를 신중하게 결정
- 필요하다면 공개용 심볼과 내부 전용 심볼을 분리하여 관리
즉, PDB는 DLL 실행에 필수적인 파일이 아니며, 배포 대상과 디버깅 지원 정책에 따라 선택적으로 제공하는 것이 일반적입니다. 위 게시글에서도 PDB가 없을 경우 런타임 디버깅 정보가 제한될 뿐, 라이브러리 빌드나 링크 자체와는 별개의 문제라고 설명하고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
세마포어 개수에 따른 스레드 점유상태
0
123
2
메모리 맵과 비동기 입/출력 조합 #2 수업내용에 질문있습니다.
0
146
2
힙 메모리 블럭 관리 방법 질문
0
158
2
MapViewOfFile 원리 관련 질문있습니다
0
162
1
가상 메모리 시스템 영역 구분
0
156
2
스택 크기 결정 단계
0
118
2
시스템프로그래밍-응용편
0
177
2
바이트와 관련된 유튜브 영상을 못 찾겠어요ㅠㅠ
0
136
2
파일 복사에 관한 질문입니다
0
163
2
세마포어 예제에 대한 질문이 있습니다.
0
161
2
메모장 쓰레기값 ?
0
196
2
64 bit 운영체제라면 가상메모리가
0
223
2
alertable Wait 상태 질문있습니다
0
267
1
GetCurrentDirectory 관련 질문
0
224
2
세마포어 예제중 형변환에 대한 질문
0
204
2
강사님 dll 지연로딩 관련하여 질문 드립니다
0
239
3
선장님 , _beginThreadEx() 함수 원리는 어디서 정보를 얻을 수 있을까요?
0
347
2
메모리 맵 강의 예제의 결과가 이상합니다.
0
268
1
강사님 파일입출력(Callback함수)와 관련하여 질문 드립니다.
0
397
2
dll 명시적 링크 오류 (원인 및 해결 방법이 필요 합니다)
0
1129
2
static 영역의 rw 가능한 곳은 어떤 데이터가 담기는지 궁금합니다.
0
264
1
TerminanteProcess 와 관련하여 질문 드립니다.
0
198
1
강사님 스레드 관련 질문 드립니다.
0
260
1
강사님 메뉴얼 중 이것도 궁금해서 여쭤봅니다.
0
256
2

