Durante o desenvolvimento normal, você não deve estar preocupado com a VM que é utilizada pelas instâncias do editor visual. Os usuários avançados, porém, podem configurar o workbench para que todas as mensagens enviadas ao System.out ou ao System.err da VM sejam gravadas no arquivo .log no diretório .metadata no seu espaço de trabalho.
A VM (Virtual Machine) utilizada para executar os beans Java não é a mesma VM na qual o workbench está sendo executado. Uma VM separada é criada para cada instância do editor visual. O caminho de classe dessa VM é definido para ser as entradas no caminho de construção Java para o projeto. Se o caminho de construção Java for alterado enquanto o editor visual estiver aberto, todos os editores abertos deverão ser fechados e abertos novamente para refletir o caminho de construção atualizado.
Quando o workbench é iniciado, ele pode receber uma opção -DEBUG que aponta para um arquivo de texto:
-DEBUG file:/c:/temp/options.txt
O arquivo de depuração contém entradas que são lidas pelo editor visual. Se o arquivo contiver a linha a seguir, todas as mensagens enviadas a System.out ou System.err serão mostradas no console:
org.eclipse.jem.proxy/debug/vmtraceout=true
Além de ter a saída do console mostrada a partir da VM utilizada pelo editor visual, você pode iniciá-lo no modo de depuração e executar a depuração remota. Este cenário não é otimizado e pode ser alterado em futuras versões do editor visual. Porém, ele é documentado no caso de você precisar executar a depuração dos beans Java no tempo do design. Para executar a depuração remota, serão necessários dois workbenchs em execução: um com os beans Java que você deseja depurar e outro que possa executar depuração remota com base no soquete. O segundo workbench pode estar em execução na mesma máquina ou em uma máquina diferente. Para ativar a depuração da VM do editor visual, o arquivo -DEBUG deve conter a linha:
org.eclipse.jem.proxy/debug/debugvm=true
Toda vez que o editor visual iniciar uma VM, ele perguntará se você deseja que ela seja iniciada no modo de depuração ou não. Essa mensagem será gravada em um diálogo ou, se o arquivo -DEBUG contiver a entrada org.eclipse.jem.proxy/debug/ioconsole=true, ela será gravada em System.out.
Se a mensagem for gravada em System.out, será solicitado que você digite Y ou N e aguarde em System.in:
Deseja iniciar a vm remota (Projeto (Teste)-VM para HelloFrame.java) no modo de depuração? (Digite Y ou N):
O diálogo anterior serve para quando a classe HelloFrame.java no projeto Teste for aberta com o editor visual. Se você selecionar Sim ou digitar Y e pressionar Enter no console, a VM será iniciada em modo suspenso com -Xdebug utilizando um conector de soquete. Uma porta livre é alocada. Em seguida, é informado a você o número.
Se a mensagem for gravada em System.out, ela aguardará a entrada em System.in.
Você deve, agora, conectar o depurador à porta número 7078. Digite 'y' quando o depurador estiver conectado. O programa não continuará corretamente sem que o depurador seja conectado. Pressione 'n' se não for possível conectar o depurador. Isso também causará um erro, mas ele será limpo melhor. Digite 'y' ou 'n':
A próxima etapa é conectar um depurador remoto à porta número 7078. A instância do workbench que está executando o editor visual é suspensa enquanto o depurador remoto é conectado, de forma que você deve utilizar um depurador de outro aplicativo. Se o outro aplicativo for outra instância do workbench, você poderá iniciar a depuração remota utilizando a opção de menu Depurar > Depurar e criando uma nova configuração do Aplicativo Java Remoto.
Digite o número da porta que foi gravado anteriormente para stdout, neste caso, 7078. Se o depurador estiver em uma máquina diferente, no campo Host você deverá digitar o endereço IP da máquina que está executando o workbench que está sendo depurado. Para iniciar o depurador remoto, clique em Depurar e digite y no console stdin do workbench que está sendo depurado.
Além de ser solicitado que você depure a VM utilizada por cada instância do editor visual, aparecerão mensagens solicitando que você depure o projeto em si:
Deseja iniciar a vm remota (Projeto (Teste)-Beaninfo) no modo de depuração? (Digite Y ou N):
Isso é para a VM utilizada para introspecção e na qual java.beans.Introspector é executado e é possível diferenciar da VM do editor visual porque não especifica um nome de arquivo de origem Java específico. Essa VM é iniciada na primeira vez que qualquer bean info é requerida para um bean Java dentro de um projeto e permanece ativa se o projeto permanecer aberto. A depuração desse projeto permite percorrer e analisar qualquer código nas classes BeanInfo conforme a introspecção dos Java beans vai sendo realizada. A introspecção ocorre uma vez para cada classe de bean Java para cada projeto no qual ela é utilizada. O resultado é mantido em um cache para ajudar no desempenho. Se, a qualquer momento, for necessário limpar o cache de informações de BeanInfo mantidas para um projeto, você poderá fechar e abrir o projeto a partir de seu menu pop-up.
Tópico pai: Testando e Depurando no Editor Visual