Tôi đang tạo một plugin cho một sản phẩm tải plugin DLL bằng cách sử dụng Assembly.Load(byte[])
. Đây là tất cả rất tốt và tốt, nhưng nó có nghĩa là tôi không có phương tiện thông thường của tải các biểu tượng gỡ lỗi để bước qua mã của tôi.Làm thế nào để gỡ lỗi một assembly được nạp thông qua Assembly.Load (byte [])?
Điều điên rồ là, vài tháng trước tôi đã gặp vấn đề tương tự và giải quyết nó - và cậu bé tự hào về bản thân mình! Vì vậy, tôi biết nó có thể được thực hiện, tôi chỉ quên làm thế nào!
Tôi có một vài ký ức mơ hồ về những điều tôi có thể đã cố gắng, nhưng tôi không thể trêu chọc các chi tiết ra khỏi đầu của tôi:
- NET Reflector
- Có lẽ sai mặc dù bởi vì tôi nhớ rõ ràng bước qua cs gốc nộp
- Sử dụng IIS nhanh hơn Cassini
- Nhưng điều này đập vào mắt tôi như một đập d giải pháp - lắp ráp được nạp từ một mảng byte, do đó, khuôn khổ không biết gì về nơi DLL đến từ hoặc những gì một PDB thích hợp có thể trông giống như nếu nó nhìn thấy một. Vấn đề này nên tồn tại trong bất kỳ môi trường nào.
- tải những biểu tượng bằng tay qua cửa sổ "Modules"
- Cố gắng này; Tôi nhận được "Các tập tin biểu tượng xxxxx.pdb không phù hợp với mô-đun" - bởi vì, tất nhiên, chúng tôi đang tải từ một mảng byte, không phải là DLL chính nó.
Có thể bạn đã sử dụng quá tải tải (byte [], byte []). –
Tôi rất muốn có thể làm điều đó, nhưng sản phẩm là nguồn đóng. Tôi biết 'Assemly.Load (byte [])' đang được sử dụng bởi vì tôi đã sử dụng Reflector. Tôi * có thể * yêu cầu họ sử dụng 'byte [], byte []' và kiểm tra tệp .pdb, nhưng sau đó tôi phải chờ ai biết được bản phát hành tiếp theo bao lâu (giả sử nó được chấp thuận). Cảm ơn mặc dù :) –
Lắp ráp của bạn được đặt tên mạnh mẽ? –