Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Biểu tượng yêu thích OnWorks

mono-shlib-cop - Trực tuyến trên đám mây

Chạy mono-shlib-cop trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

Đây là lệnh mono-shlib-cop có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


mono-shlib-cop - Trình kiểm tra mức sử dụng thư viện được chia sẻ

SYNOPSIS


mono-shlib-cop [TÙY CHỌN] * [LẮP RÁP-TÊN] *

LỰA CHỌN


-P, --prefixes = PREFIX
Tiền tố cài đặt mono. Đây là để tìm $ prefix / etc / mono / config. Mặc định
dựa trên vị trí của mscorlib.dll và thường chính xác.

MÔ TẢ


mono-shlib-cop là một công cụ kiểm tra một tổ hợp được quản lý để tìm kiếm lỗi hoặc
việc sử dụng thư viện được chia sẻ một cách đáng ngờ.

Công cụ lấy một hoặc nhiều tên tệp lắp ráp và kiểm tra từng cụm được chỉ định.

Các lỗi được kiểm tra bao gồm:

* Thư viện dùng chung có tồn tại không?

* Biểu tượng được yêu cầu có tồn tại trong thư viện được chia sẻ không?

Các cảnh báo được kiểm tra bao gồm:

* Thư viện được chia sẻ đích có phải là thư viện đã được phiên bản không? (Chỉ có liên quan trên hệ thống Unix,
không phải Mac OS X hoặc Windows.)

Nói chung, chỉ các thư viện đã được phiên bản hóa như libc.so.6 có trên máy của người dùng,
và nỗ lực tải libc.so sẽ dẫn đến một System.DllNotFoundException. Có ba
giải pháp cho điều này:

1. Yêu cầu người dùng cài đặt bất kỳ -phát triển các gói cung cấp không phiên bản
thư viện. Điều này thường yêu cầu người dùng cài đặt một số lượng lớn bổ sung
các gói, làm phức tạp quá trình cài đặt.

2. Sử dụng tên được phiên bản đầy đủ trong DLLImport các câu lệnh. Điều này yêu cầu chỉnh sửa
mã nguồn của bạn và biên dịch lại bất cứ khi nào bạn cần nhắm mục tiêu một phiên bản khác của
thư viện được chia sẻ.

3. Cung cấp một lắp ráp.config tệp chứa các yếu tố để ánh xạ lại
tên thư viện chia sẻ được lắp ráp của bạn sử dụng cho thư viện được chia sẻ phiên bản thực tế
hiện trên hệ thống người dùng. Mono cung cấp một số
các mục nhập, bao gồm cả những mục cho libc.solibX11.so.

THÍ DỤ


Đoạn mã sau chứa các ví dụ về các lỗi và cảnh báo ở trên:
sử dụng System.Runtime.InteropServices; // cho DllImport
Demo lớp học {
[DllImport ("bad-library-name")]
void bên ngoài tĩnh riêng tư BadLibraryName ();

[DllImport ("libc.so")]
void bên ngoài tĩnh riêng tư BadSymbolName ();

[DllImport ("libcap.so")]
riêng tư bên ngoài tĩnh int cap_clear (IntPtr cap_p);
}

Tên thư viện không hợp lệ
Giả sử rằng thư viện tên thư viện xấu không tồn tại trên máy của bạn,
Demo.BadLibraryName sẽ tạo ra một lỗi, vì nó yêu cầu một thư viện được chia sẻ
không thể tải được. Điều này có thể bị bỏ qua; Thấy chưa GIỎI

Tên biểu tượng không hợp lệ
Demo.BadSymbolName sẽ tạo ra một lỗi, như libc.so (được ánh xạ lại thành libc.so.6 by
của mono $ prefix / etc / mono / config tệp) không chứa hàm Tên biểu tượng xấu

Sự phụ thuộc vào thư viện không phiên bản
Giả sử bạn có tệp libcap.so , Demo.cap_clear sẽ tạo ra một cảnh báo
bởi vì, trong khi libcap.so có thể được tải, libcap.so có thể không tồn tại trên người dùng
máy (trên FC2, /lib/libcap.so được cung cấp bởi libcap-devel , và bạn không thể cho rằng
rằng người dùng cuối sẽ có bất kỳ -phát triển các gói đã cài đặt).

CỐ ĐỊNH


Cách khắc phục phụ thuộc vào cảnh báo hoặc lỗi:

Tên thư viện không hợp lệ
Sử dụng tên thư viện hợp lệ trong DLLImport thuộc tính hoặc cung cấp một lối vào
để ánh xạ tên thư viện hiện có của bạn thành một tên thư viện hợp lệ.

Tên biểu tượng không hợp lệ
Tham chiếu một biểu tượng thực sự tồn tại trong thư viện đích.

Sự phụ thuộc vào thư viện không phiên bản
Cung cấp một mục nhập để tham chiếu đến một thư viện được phiên bản phù hợp hoặc bỏ qua
cảnh báo (xem GIỎI ).

DLLMAP MỤC


Mono tìm kiếm một HỘI-TÊN thông tin bản đồ. Ví dụ, với mcs.exe , Bệnh tăng bạch cầu đơn nhân
sẽ đọc mcs.exe.config , Và cho Mono.Posix.dll , Mono sẽ đọc Mono.Posix.dll.config

Sản phẩm .config tệp là tài liệu XML có chứa cấp cao nhất phần với
lồng vào nhau các mục nhập, có chứa dllmục tiêu thuộc tính. Thuộc tính dll
nên chứa cùng một chuỗi được sử dụng trong DLLImport giá trị thuộc tính và mục tiêu
thuộc tính chỉ định mono thư viện được chia sẻ nào nên thực sự tải trong thời gian chạy.

Tệp .config mẫu là:




Sử dụng mono-shlib-cop trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

Ad