English프랑스어스페인어

온웍스 파비콘

mono-shlib-cop - 클라우드에서의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 mono-shlib-cop를 실행하세요.

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 mono-shlib-cop 명령입니다.

프로그램:

이름


mono-shlib-cop - 공유 라이브러리 사용량 검사기

개요


모노 shlib 경찰 [옵션]* [어셈블리-파일-이름]*

옵션


-NS, --prefixes=프리픽스
모노 설치 접두사. $prefix/etc/mono/config를 찾는 것입니다. 기본값
mscorlib.dll의 위치를 ​​기반으로 하며 일반적으로 정확합니다.

기술


모노 shlib 경찰 관리되는 어셈블리를 검사하여 오류가 있거나 잘못된 부분을 찾는 도구입니다.
공유 라이브러리의 의심스러운 사용.

이 도구는 하나 이상의 어셈블리 파일 이름을 사용하고 지정된 각 어셈블리를 검사합니다.

확인된 오류는 다음과 같습니다.

* 공유 라이브러리가 존재하나요?

* 요청한 심볼이 공유 라이브러리 내에 존재합니까?

확인된 경고는 다음과 같습니다.

* 대상 공유 라이브러리는 버전이 지정된 라이브러리입니까? (Unix 시스템에만 해당됩니다.
Mac OS X이나 Windows는 아닙니다.)

일반적으로 다음과 같은 버전이 지정된 라이브러리만 libc.so.6 사용자의 컴퓨터에 존재하며,
그리고 로드하려는 노력 libc.so 결과는 System.DllNotFoundException. 세 가지 유형의
이에 대한 해결책:

1. 사용자가 다음을 설치하도록 요구합니다. -개발 버전이 지정되지 않은 패키지를 제공하는 패키지
도서관. 이를 위해서는 일반적으로 사용자가 다수의 추가 설치를 요구합니다.
패키지로 인해 설치 프로세스가 복잡해집니다.

2. 귀하의 계정에 완전한 버전의 이름을 사용하십시오. DLL가져오기 진술. 편집이 필요합니다
소스 코드를 작성하고 다른 버전을 대상으로 해야 할 때마다 다시 컴파일합니다.
공유 라이브러리.

3. 제공 어셈블리.구성 포함된 파일 다시 매핑할 요소
어셈블리에서 실제 버전이 지정된 공유 라이브러리에 사용되는 공유 라이브러리 이름
사용자 시스템에 존재합니다. Mono는 기존의 여러 가지 기능을 제공합니다.
다음 항목을 포함한 항목 libc.so and libX11.so.


다음 코드에는 위 오류 및 경고의 예가 포함되어 있습니다.
System.Runtime.InteropServices 사용; // DllImport용
클래스 데모 {
[DllImport("잘못된 라이브러리 이름")]
개인 정적 외부 무효 BadLibraryName ();

[Dll가져오기("libc.so")]
개인 정적 외부 무효 BadSymbolName ();

[Dll가져오기("libcap.so")]
개인 정적 extern int cap_clear(IntPtr cap_p);
}

잘못된 라이브러리 이름
도서관이라고 가정하면 잘못된 라이브러리 이름 귀하의 컴퓨터에 존재하지 않습니다.
Demo.BadLibraryName 공유 라이브러리가 필요하므로 오류가 발생합니다.
로드할 수 없습니다. 이는 무시할 수 있습니다. 보다 버그

잘못된 기호 이름
Demo.BadSymbolName 다음과 같이 오류가 발생합니다. libc.so (다음으로 다시 매핑됨 libc.so.6 by
모노 $접두사/etc/mono/config 파일)에 해당 기능이 포함되어 있지 않습니다. 잘못된 기호 이름

버전이 지정되지 않은 라이브러리 종속성
파일이 있다고 가정하면 libcap.so , 데모.cap_clear 경고가 생성됩니다
왜냐하면, 동안 libcap.so 로드될 수 있으며, libcap.so 사용자에게 존재하지 않을 수 있습니다
머신(FC2의 경우, /lib/libcap.so 에 의해 제공됩니다 libcap-devel , 그리고 당신은 가정할 수 없습니다
최종 사용자는 -개발 패키지가 설치됨).

고정 CODE


수정 방법은 경고 또는 오류에 따라 다릅니다.

잘못된 라이브러리 이름
다음에서 유효한 라이브러리 이름을 사용하십시오. DLL가져오기 속성을 제공하거나 기입
기존 라이브러리 이름을 유효한 라이브러리 이름에 매핑합니다.

잘못된 기호 이름
대상 라이브러리에 실제로 존재하는 기호를 참조합니다.

버전이 지정되지 않은 라이브러리 종속성
제공 적절하게 버전이 지정된 라이브러리를 참조하거나 무시하려면 항목을 선택하세요.
경고(참조 버그 ).

DLLMAP 엔트리


모노는 다음을 찾습니다. 어셈블리 이름 매핑 정보. 예를 들어, mcs.exe , 단핵증
읽을 것이다 mcs.exe.config 등에 대한 모노.Posix.dll , 모노는 읽을 것이다 Mono.Posix.dll.config

이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 .config 파일은 최상위 수준을 포함하는 XML 문서입니다. 섹션
중첩된 다음을 포함하는 항목 dll을 and 목표 속성. dll 속성
다음과 같은 문자열을 포함해야 합니다. DLL가져오기 속성 값 및 대상
속성은 어떤 공유 라이브러리 모노를 지정해야 하는지 지정합니다. 실제로 런타임에 로드합니다.

샘플 .config 파일은 다음과 같습니다.




onworks.net 서비스를 사용하여 온라인으로 mono-shlib-cop 사용


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad