Problema com JNI ocasiona crash da JVM  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
ununes
JavaTeenager

Membro desde: 22/07/2005 15:07:04
Mensagens: 170
Offline

Bom dia pessoal, tenho a função no final do post em uma dll de bridge pra outra dll em c++ que pega 2 imagens (BYTE *) 1024x1024 RGB e manda pra dll que calcula e retorna um bufferR 1024x1024 RGB com o resultado.
O problema é que a JVM está morrendo sempre que chama o método CalculoFV.
A função calculoFV funciona pois a mesma é chamada de outro programa em C++ e retorna a imagem resultado certinha.
Não sei o que está acontecendo, se tenho que fazer alguma conversão ou algo do tipo para passar os buffers para a função calculoFV (que recebe 2 apontadores "BYTE *" como parâmetro) ou se preciso fazer algo mais que não estou fazendo ou ainda se é algum estouro de memória por causa de alguma situação que eu não tratei.

Se alguém tiver sugestões por favor poste.

Código da função JNI da bridge:
[MSN]
KWill
Virtual Machine Man
[Avatar]

Membro desde: 18/09/2006 10:05:46
Mensagens: 609
Offline

Normalmente, esse tipo de coisa doida também fornece um tipo de "crash dump" do erro que aconteceu na JVM.
Esse "crash dump" pode ser alguma saída no console, um arquivo de log, etc.
Se você puder passar para nós o "crash dump" do erro pode ser que a gente consiga analisar melhor o problema.

Inté.

This message was edited 1 time. Last update was at 13/01/2011 18:40:53


"Só estou certo de que não possuo outras certezas" - KWill
"Não penso, mas Googlo, logo existo!" - Geração Copy-Cola
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

Porque você não abre o visual studio e anexa o debugger na dll?

Vai ver que existe um ponteiro nulo nesse código.

www.citrox.com.br
ununes
JavaTeenager

Membro desde: 22/07/2005 15:07:04
Mensagens: 170
Offline

Resolvido, era problemas de diretivas de compilação.
[MSN]
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

ununes wrote:Resolvido, era problemas de diretivas de compilação.


Posta a solução para as outras pessoas poderem pesquisar também.

This message was edited 1 time. Last update was at 07/02/2011 10:43:44


www.citrox.com.br
ununes
JavaTeenager

Membro desde: 22/07/2005 15:07:04
Mensagens: 170
Offline

No meu caso, que compilei com o Builder C++ 6.0 bastou mudar os seguintes parâmentros em Project -> Options:

Na aba Linker desmarcar as opções USE DYNAMIC RTL e CREATE DEBUG INFORMATION
Na aba Packages desmarcar as opções BUILD WITH RUNTIME PACKAGES
Na aba Compiler clicar no botão RELEASE

Feito isso passou a funcionar beleza.

This message was edited 1 time. Last update was at 07/02/2011 10:53:28

[MSN]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team