Problema com JNI ocasiona crash da JVM

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:

JNIEXPORT jbyteArray JNICALL Java_FrenteVerso_calculaFrenteVerso (JNIEnv *env, jobject obj, jbyteArray bufferFrente, jbyteArray bufferVerso)//função recebe 2 "byte []" como parâmetros em JAVA
{
	 BYTE* bufferR = new BYTE [1024*1024*3];;                   //buffer de retorno da funcao
	 jbyte* valsF  = env->GetByteArrayElements(bufferFrente,0); //bufferFrente
	 jbyte* valsV  = env->GetByteArrayElements(bufferVerso,0);  //bufferVerso

	 calculoFV(valsF, valsV, bufferR); //recebe 2 apontadores BYTE * para os buffers e retorna o calculo no apontador BYTE * bufferR

	 jbyteArray bufferRet = env->NewByteArray(1024*1024*3);               //aloca para retornar
	 env->SetByteArrayRegion(bufferRet, 0, 1024*1024*3,(jbyte *)bufferR); //copia
	 env->ReleaseByteArrayElements(bufferFrente,valS,JNI_ABORT);          //é necessario?
	 env->ReleaseByteArrayElements(bufferVerso ,valD,JNI_ABORT);          //é necessario?

	 delete bufferR;  //apaga o buffer alocado
	 return bufferRet;//retorna o buffer copiado
}

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é.

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

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

Resolvido, era problemas de diretivas de compilação.

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

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.