2017-03-31 15 views
6

Lệnh biên dịch của tôi là trong macOS Seria là clang -std=c11 -g -Wall -Werror -fsanitize=address -file.c -o file sau khi biên dịch, nó cũng tạo ra tệp thêm.dSYM bao gồm tất cả các biểu tượng gỡ lỗi. Tuy nhiên, khi tôi sử dụng WSL hoặc hệ thống * nix khác, nó sẽ không tạo ra tệp như vậy, các biểu tượng gỡ lỗi được nhúng vào các tệp nhị phân thực thi. Vì vậy, tôi chỉ tự hỏi là có một cách để làm tương tự trong macOS với clang.Làm thế nào để nói với clang để đặt biểu tượng gỡ lỗi vào nhị phân thực thi?

Trả lời

3

Khi bạn biên dịch chương trình trong một lần, clang thực sự chạy dsymutil cho bạn, chịu trách nhiệm tạo tệp .dSYM. Do đó, giải pháp cho vấn đề của bạn là biên dịch và liên kết riêng biệt, trong trường hợp này clang sẽ không tự động gọi dsymutil.

Kiểm tra this SO câu hỏi để biết thêm chi tiết!

Các vấn đề liên quan