Недавно была добавлена интересная особенность в Workstation 6.0, которая делает WS6 отличным средством
для отладки ядра Linux. Теперь можно с легкостью отлаживать Linux VM на хосте при помощи gdb
без каких-либо изменений в Guest VM. Ни каких kdb, перекомпиляций или еще одной машины не требуется.
Все что вам потребуется, так это всего одна строчка в VM'шном конфигурационном файле.Чтобы использовать новую особенность, необходимо достать последний билд WS6:
http://www.vmware.com/products/beta/ws/Разместить в вашем Linux VM конфигурационном файле строчку:
debugStub.listen.guest32=1
Теперь, всякий раз, когда вы запускаете виртуальную машину, Вы будете видеть на хост консоле:
VMware Workstation is listening for debug connection on port 8832.
Запустите gdb на хосте, ссылаясь на ядро, для которого у Вас есть System.map и присоедините его к виртуальной машине:
% gdb
(gdb) file vmlinux-2.4.21-27.EL.debug
(gdb) target remote localhost:8832
URL: http://linuxkernel.ru/?q=node/238
Обсуждается: http://www.opennet.me/tips/info/1410.shtml
Повторие ещё пжалуйста, я зпысваю... (с)1. У нас должно быть 2 копии ядра, одно на гостевом Linux, такое же на локальном? Так?
2. Что значить
> присоединить System.map к виртуальной машине.
по шагам, если не трудно, куда что копировать, как включать (присоединять)
И ещё, случайно debugStub.listen.guest64=1 не существует? Именно 64.
Блин, а никто не знает - вмвару 6 крякнули?
Скажем так. да...
Guys, sorry for English. Dont have russian encoding
here.Yes, you need two copies of the kernel. One inside
the VM (may be stripped), one outside - with symbols. There is a pointer to RHEL kernels with
symbols on stackframe.blogspot.comThe debugStub.listen.guest64=1 exists and works.
Don't forget to switch to i386:x86-64 before
attaching (see stackframe for this too).Don't want to discuss WS6 cracks (I work for
VMware), but WS6 RC2 is free to download and
won't expire for some time.