Solaris 模块调试器指南

强制崩溃转储

下一步是确保正确配置了崩溃转储。首先,请确认是否将 dumpadm 配置为保存内核崩溃转储并启用了 savecore。 有关崩溃转储参数的更多信息,请参见 dumpadm(1M)

# dumpadm

		      Dump content: kernel pages

		       Dump device: /dev/dsk/c0t0d0s1 (swap)

		Savecore directory: /var/crash/testsystem

		  Savecore enabled: yes

接下来,使用 reboot(1M) 的 '-d' 标志重新引导系统,这将强制内核崩溃并保存崩溃转储。

# reboot -d

Sep 28 17:51:18 testsystem reboot: rebooted by root



panic[cpu0]/thread=70aacde0: forced crash dump initiated at user request



401fbb10 genunix:uadmin+55c (1, 1, 0, 6d700000, 5, 0)

  %l0-7: 00000000 00000000 00000000 00000000 00000000 00000000 00000000

         00000000

...

系统重新引导时,请确保崩溃转储已成功:

$ cd /var/crash/testsystem

$ ls

bounds    unix.0    unix.1    vmcore.0  vmcore.1

如果转储目录中缺少该转储,可能是由于分区的空间不足。 可以释放空间并以超级用户身份手动运行 savecore(1M),以便随后保存转储。如果转储目录包含多个崩溃转储,则刚创建的转储将是具有最新修改时间的 unix.[n]vmcore.[n] 对。