Compilación de plugins para Maya en Linux

Estoy compilando unos plugins para Maya en Linux. La cosa es que me compila bien pero al ejecutarlos desde maya lanza una señal (señal 11) y no me da más información de lo que pasa. He capturado esa señal para que en vez de salir imprima algo con printf y además con perror me pone "Invalid or incomplete multibyte or wide character".
¿Sabes qué está pasando?. ¿Me puedes dar una pista o al menos como podría conseguir más información del error que se está produciendo?.

2 respuestas

Respuesta
1
No se si esto te ayudara mucho, el error ese se debe a una variable "wide character" que son variables carácter de 2 bytes en vez de 1. El error debe venir de posiblemente algún puntero de este tipo en el que te salgas de el o escribas un carácter de un solo byte en el cuando lo necesita de 2.
¿Y sabes como podría averiguar donde se produce el error?. Ya se que puedo usar el debugger pero el problema es que este es un software que corre como plugin sobre otro programa así que no se bien como ver línea a línea lo que pasa.
Saludos y muchas gracias por la ayuda.
Pufff, pues el mejor modo sería con cout o printf según este en c++ o c, para ver en que punto casca, otra forma no se me ocurre si no puedes usar el debugger. Otro motivo podría ser que esos pluggins sean para alguna version en concreto del Maya que tu no tengas y por lo tanto no soporten los wide character.
También que estén mal copiados o bajados, si eso bájatelos o copiarlos otra vez.
No se que más decirte para solucionar el problema.
Respuesta
1
La señal 11 es SIGSEGV, o "violación de segmento". Normalmente significa que el programa ha hecho mal uso de sus punteros e intentado escribir a una zona de memoria que el no poseía. Eso explicaría porque compila bien.
¿Hay alguna forma de descubrir donde se produce el error?. Ya se que se puede usar el debugger, el problema es que es un software que corre como plugin sobre otro. Si fuese un programa independiente sabría como tracearlo para ver como va linea a linea pero tal como es no tengo muy claro como averiguarlo.
Muchas gracias.
Puedes crear un plug-in básico, y compruebar si falla, si no falla ve añadiéndole lineas de código progresivamente hasta localizar donde se produce el error. No se si existe la posibilidad de depurar un plug-in.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas