모듈식 디버거인 mdb는 확장이 용이하다는 점에서 Solaris 디버거 중에서 특히 독창적입니다. 원하는 작업을 디버거 컨텍스트 내에서 수행할 수 있도록 모듈 컴파일을 허용하는 프로그래밍 API가 제공됩니다.
또한 mdb에는 명령줄 편집, 명령 기록, 내장 출력 페이저, 구문 검사, 명령 파이프라이닝 등 여러 가지 탁월한 유용성 기능이 포함되어 있습니다. mdb는 커널에 권장되는 사후 디버거입니다.
자세한 내용은 mdb(1)를 참조하십시오.
예 1-2 mdb를 사용하여 정보 표시시스템 메모리 사용량에 대한 자세한 정보를 표시합니다. 예를 들면 다음과 같습니다.
# mdb -k Loading modules: [ unix genunix specfs dtrace mac cpu.generic cpu_ms.AuthenticAMD.15 uppc pcplusmp scsi_vhci zfs mpt sd ip hook neti arp usba sockfs kssl qlc fctl stmf stmf_sbd md lofs random idm fcp crypto cpc smbsrv nfs fcip sppp ufs logindmux ptm nsmb scu mpt_sas pmcs emlxs ] > ::memstat Page Summary Pages MB %Tot ------------ ---------------- ---------------- ---- Kernel 160876 628 16% ZFS File Data 303401 1185 30% Anon 25335 98 2% Exec and libs 1459 5 0% Page cache 5083 19 1% Free (cachelist) 6616 25 1% Free (freelist) 510870 1995 50% Total 1013640 3959 Physical 1013639 3959 > $q
모듈식 디버거 사용에 대한 자세한 내용은 Oracle Solaris Modular Debugger Guide를 참조하십시오.
kmdb나 mdb 디버거를 사용할 때는 모듈 이름 접두어가 필요하지 않습니다. 모듈이 로드된 후의 모듈 기호는 공통 이름 공간과 코어 커널 기호 및 이전에 로드된 다른 모듈 기호로 이루어집니다.