First, thank you both for your help.
Summarized below are the debugStub settings as I understand them.
debugStub.listen.guest64 = "TRUE" # Enable listener for 64 bit guest
debugStub.listen.guest64.remote = "TRUE" # Allow remote connection
debugStub.port.guest64 = "42040" # Listen on specified port NNN, e.g., 42040
debugStub.listen.guest32 = "TRUE" # Enable listener for 32 bit guest
debugStub.listen.guest32.remote = "TRUE" # Allow remote connection
debugStub.port.guest32 = "32001" # Listen on specified port NNN
debugStub.hideBreakpoints= "TRUE" # Set hardware breakpoints -- limited by HW
These settings allow me to connect to a VMware fusion VM with a gdb command like:
(gdb) target remote osx-host:42040 # connects to the listener on 42040
Now, when I do that I see exactly one thread per guest CPU. Is that expected? I was hoping to see all the light weight kernel threads being run by the Guest OS.