2010-02-09 30 views
18

Tôi đã đọc qua bài viết này: Setting up a Symbol Server, chi tiết về cách thiết lập máy chủ biểu tượng chia sẻ cho nhóm của tôi.Thiết lập máy chủ biểu tượng cho tôi điều gì?

Điều tôi đang tự hỏi là thêm biểu tượng của riêng mình vào cửa hàng.

Câu hỏi của tôi là: Điều gì chính xác là tôi đạt được điều này?

Giả sử rằng tôi có quá trình xây dựng sau đây:

  1. tôi cam kết thay đổi vào kho lưu trữ Subversion của tôi
  2. Một TeamCity CI cụ nhặt những thay đổi đó và làm một xây dựng + kiểm tra đơn vị
  3. Các mã nhị phân cam kết với một kho lưu trữ Subversion khác (để tham khảo bằng các ứng dụng tôi thực hiện)

Nếu tôi thêm vào điểm thứ ba ở trên, khả năng thêm các tệp được xây dựng vào cửa hàng biểu tượng, điều đó mang lại cho tôi điều gì?

Nếu tôi tạo chương trình và tham chiếu các tệp nhị phân đã cam kết với kho lưu trữ, tôi nhận được cả hai tệp .dll, .pdb và .xml (hỗ trợ intellisense), vì vậy các dấu vết ngăn xếp của tôi dường như chứa mọi thứ tôi cần.

Đây có phải là sự thay thế cho việc phân phối tệp .pdb's không? Hoặc là nó chỉ cho khi tôi cần phải mở một tập tin .DMP vào WINDBG và phân tích ngăn xếp của nó, nơi tôi có lẽ không có các tập tin thực thi ở tất cả, chỉ có các tập tin .DMP được cung cấp bởi người khác? (có nghĩa là, các exectuables có lẽ từ một phiên bản cũ hơn, và tôi chỉ được cung cấp các tập tin .DMP)

Trả lời

18

Không rõ ràng: máy chủ biểu tượng cung cấp cho bạn các biểu tượng. Vì vậy, bạn có thể gỡ lỗi các minidumps bạn nhận được từ khách hàng của bạn khi mã của bạn bị treo và bỏng. Điều tuyệt đối quan trọng là thực hiện phân tích sau khi chết trên các sự cố thực sự của mà khách hàng của bạn đang gặp phải. Bởi vì vào thời điểm vài tháng, phiên bản cũ của mã của bạn có cơ hội gặp sự cố trên máy của khách hàng, bạn đã tiến triển một vài phiên bản.

Nỗ lực thực sự không phải là thiết lập máy chủ biểu tượng, đảm bảo nó có tệp pdb phù hợp để cung cấp cho bạn cơ hội gỡ lỗi tốt. Kiểm soát quá trình xây dựng là một phần quan trọng của phương trình đó.

+2

Tôi nghĩ rằng đây là câu trả lời của tôi sau đó. Đối với nhóm của tôi, người thử nghiệm và người dùng của chúng tôi, một báo cáo sự cố bình thường đã chứa mọi thứ chúng tôi cần, nhưng gần đây tôi đã xem xét một số vấn đề sử dụng bộ nhớ cao, sử dụng WINDBG và nếu tôi lấy tệp kết xuất từ ​​máy khách của mình có nhiều phiên bản trung gian cũ, tôi sẽ không có tệp cục bộ. Điều đó có nghĩa rằng đây là khu vực tôi có thể sử dụng máy chủ biểu tượng cho. –

+1

Bạn đã có nó, chúc may mắn. –

1

Nếu bạn có người dùng có thể tìm thấy vấn đề với mã nhưng không có quyền truy cập vào kho Subversion của bạn, làm thế nào bạn nhận được chúng những biểu tượng họ cần? Ví dụ, nếu bạn đang phát triển một ứng dụng cho bộ phận kế toán và muốn họ thử một phiên bản đầu của mã, một trong những bạn biết có thể truy nguyên trên chúng, bạn sẽ yêu cầu họ có một Enlistmant Subversion?

Máy chủ biểu tượng chỉ đơn giản là một vị trí mạng duy nhất nơi các ký hiệu được tạo sẵn cho bất kỳ ai có thể cần chúng.

Không có thay thế cho tệp .pdb nếu bạn muốn thông tin biểu tượng.

+0

Để có được stacktraces hữu ích trong các công cụ hỗ trợ của chúng tôi, chúng tôi đã phân phối tệp .pdb với ứng dụng của chúng tôi. Do đó câu hỏi của tôi. Về cơ bản, đối với mọi .dll (mà chúng ta tự xây dựng), chúng tôi cũng gửi tệp .pdb tương ứng. Các dấu vết ngăn xếp chúng tôi được gửi qua chức năng báo cáo sự cố tích hợp sẵn có chứa thông tin về tệp và số dòng. Điều này có nghĩa là trong bối cảnh này, không có thực sự là một sử dụng cho máy chủ biểu tượng này? Nếu chương trình gặp sự cố trên máy kiểm tra, tôi sẽ làm cách nào để tìm nạp biểu tượng cho các thư viện không phải của chúng tôi, từ máy chủ này? Bài báo không nói. –

+0

Tôi sẽ nói rằng trong tình huống bạn mô tả, một phần biểu tượng sẽ không cần thiết. Những ưu điểm lớn của máy chủ biểu tượng là (1) giảm thiểu số lượng tệp được bao gồm trong phân phối/kích thước của phân phối và (2) tạo vị trí chuẩn cho tệp biểu tượng (bạn không phải theo dõi phiên bản). Có vẻ như bạn đang đối phó với những vấn đề này theo những cách khác. – jfawcett

1

Hãy xem bài viết trên blog này: Source Server and Symbol Server Support in TFS 2010

Đó là về các Symbol Máy chủ & Source Server có tính năng đặc biệt trong TFS năm 2010 nhưng bạn có thể mất rất nhiều thông tin và áp dụng nó để xây dựng và kiểm soát nguồn khác hệ thống như tốt.

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