2009-07-29 9 views
9

Me mudé de Windows a Ubuntu Linux, y ahora quiero configurar el entorno de desarrollo aquí. El problema es que necesitoAplicación de Windows de depuración cruzada en el cuadro de Linux en Eclipse CDT

  1. IDE C/C++ comparable a Visual Studio
  2. manera de generar los binarios de Windows PE
  3. Way hacer depuración binarios de Windows PE

En primera vez que probé Código :: Bloques. Here Encontré una guía para configurarlo para el desarrollo cruzado, así que logré obtener "Hello World" compilado y ejecutándose en Wine. Por otra parte, la depuración funcionó también.

Pero luego encontré que el plugin Eclipse + CDT es IDE mucho más avanzado. Pasé un tiempo y finalmente obtuve un proyecto compilado y vinculado.

Ahora estoy tratando de obtener la versión MinGW Insight de GDB trabajando dentro de Eclipse CDT. La forma sencilla de usar el depurador descrita en la guía Code :: Blocks ya no funcionará. Sigo recibiendo mensajes de "Error al crear sesión".

Así que mi pregunta es, ¿cómo puedo usar MinGW GDB en Wine como depurador en Eclipse? O, ¿cuál es el mejor IDE para Linux-> Windows cross-development?

Respuesta

3

Me pregunto que nadie respondió esto todavía.

  1. QtCreator. No se deje confundir por su nombre, QtCreator funciona bastante bien con cualquier tipo de código C++, no necesita codificar en Qt para usarlo. Es como FOSS Visual Studio: incluso tiene una comprobación de sintaxis "en marcha".

  2. MinGW. Aquí no hay mucho que decir, solo crea ejecutables Win PE, y funciona. Está disponible en repositorios. Tenga en cuenta que las aplicaciones Win GUI tienen un bit especial en su conjunto de encabezado PE; entonces, para crear una aplicación GUI con MinGW, debe pasar una opción -mwindows para establecer este bit.

  3. Esto es un problema. Realmente: solo estoy tratando de depurar una aplicación de Windows, y no encontré todavía una manera de hacerlo. En breve voy a recordar aquí lo que he intentado hasta el momento, simplemente con el fin de que no se sube en mis rastrillos:

    • winedbg. Probablemente debería funcionar, pero para mí no fue así. Cuando configuro un punto de interrupción, es decir, br 43, dice Unable to add breakpoint (unknown address 7b860807).

    • winedbg. Sí, de nuevo, pero esta vez lo usaremos así winedbg --gbd para que sea un comando de proxy a gdb. Probablemente esta es la única forma de depurar una aplicación, pero tiene sus inconvenientes: primero, para reiniciar una aplicación, debe salir del depurador; si ingresa run, dice que el objetivo remoto no es compatible. En segundo lugar, ni siquiera tengo idea de cómo depurar una aplicación multiproceso; cuando comencé esto, tropecé con un error Non-stop mode requested, but remote does not support non-stop, y después de establecer un punto de interrupción e iniciarlo dice: Cannot insert breakpoint 1. y Cannot access memory at address 0x401654.Por lo tanto, con el fin de hacer este trabajo que se necesitaba para cambiar el nombre de mi archivo .gdbinit (es decir, el modo de parada no se establece allí).

    • gdb.exe. Estaba seguro de encontrar una manera: el uso simple de una versión de Windows de gdb debería resolver problemas; más, para mí, como soy un chico de Emacs, sería absolutamente lo mismo que depurar con gdb nativo. Pero, por desgracia, el gdb de Windows simplemente no funcionaba. Si lo ejecuto, e ingreso cualquier comando, simplemente no hace nada. Es sólo reacciona en Ctrl-c y Ctrl-z comandos. Probablemente probaré en mi tiempo libre para hacer una pregunta al respecto en la lista de correo. Pues bien, ahora no podemos usarlo ...

Así que lo que tenemos que ver con la depuración? Lo más probable es que busque otro depurador de Windows que funcione en VINO. Si recuerdo correctamente, OllyDbg funcionó, pero no sé por el momento cómo hacer que muestre un código fuente.

+0

+1 para QtCreator. Funciona muy bien con la cadena de herramientas de GCC. – yasouser

+0

Todavía no se actualizará el post, en lugar de dejar la información comentario: He encontrado cómo ejecutar 'gdb.exe' con vino para que funcione correctamente, debe verse como' wineconsole --backend = maldice gdb.exe' . –

+0

Sólo probamos en el emacs 'gdb.exe', es simplemente inutilizable :( –

0

puede probar NetBeans. Es un buen código abierto, gratuito y Cross Platform Support IDE.

-2

ejecutar Windows en una máquina virtual?

serio, su pregunta es buena, pero es probable que no vale la pena gastar el tiempo para averiguar la respuesta (sobre todo: ya que nadie parece tener una respuesta preparada). Si tiene trabajo real que hacer, la respuesta es Windows nativo o Windows en una VM.

+0

Tengo un Windows en VM, y esto no es una buena idea en absoluto, digo, ya que mi PC tiene solo 2Gb de RAM. Estoy seguro de que vale la pena pasar el tiempo ya que una vez que lo encuentro , Puedo usarlo en cualquier momento y en cualquier lugar. –

Cuestiones relacionadas