2009-02-12 8 views
9

Sto usando Eclipse su Windows per programmare C++ usando la toolchain di Cygwin. Vorrei usarlo per il debug pure, ma il mio problema è il seguente:Come ottenere Eclipse per conferire al GDB di Cygwin un percorso posix all'eseguibile?

  • L'eseguibile per eseguire il debug è in una sottocartella dell'area di lavoro (piuttosto standard, immagino), ma non del progetto vero e proprio da cui viene costruito l'eseguibile.
  • Eclipse e GDB hanno diversi formati di percorso: Eclipse funziona con percorsi Windows, mentre GDB funziona con percorsi posix. Eclipse conosce D:\Path\To\Exe mentre GDB ha bisogno di /cygdrive/d/Path/To/Exe.
  • Eclipse insiste sul che può trovare l'eseguibile da eseguire il debug quando si immette il percorso nella finestra di dialogo "Debug configurazioni ...". Il pulsante "Debug" è disabilitato finché il percorso non è corretto.
  • Eclipse non sembra prendere ${workspace_loc} in quella particolare casella di input.

C'è qualche opzione nascosta che non conosco? Hai avuto il problema prima?

Quello che ho provato finora

  • Forzare Eclipse per passare l'ingresso percorso I GDB --- non ha funzionato.
  • Fiddling con i percorsi di ricerca di origine e mappature dei percorsi --- non ha funzionato, è davvero solo per i file di origine.
  • Creazione di un progetto C++ per la cartella di output in cui si trova l'eseguibile, in modo da poter avere un percorso relativo per l'exe all'interno del progetto --- non ha funzionato.

cose che potrei ancora provare

  • Utilizzare il file .gdbinit di scartare il percorso indicato da Eclipse e caricare il vero eseguibile con percorsi POSIX --- provato, ma non è molto difficile.
  • Specificare un wrapper come argomento per GDB --- inquina la radice del mio spazio di lavoro.
  • Fornire il mio plug-in per gestire il caso --- aggiunge un altro pezzo di codice da conservare in un'altra lingua.

risposta

0

Il problema è andato via durante l'aggiornamento a Eclipse Ganimede.

+0

Ma questa non è una soluzione al problema, questo è solo bypassandolo ... – Charles

+3

Vedere lo stesso problema con Eclipse Kepler! – einpoklum

1

Cygwin è dotato di un programma chiamato cygpath tradurre percorsi da Windows a Unix e viceversa, ad esempio

$ cygpath -u 'c:\Users\Andrew\Documents\svn' 
/cygdrive/c/Users/Andrew/Documents/svn 

fare un cygpath --help per maggiori informazioni.

Quindi probabilmente vorrai scrivere un wrapper per GDB che traduca tutti i percorsi specifici di Windows per unire i percorsi, e quindi invoca il vero GDB.

13

In Eclipse in Preferenze-> C/C++ -> Debug -> "Percorso di ricerca origine comune" aggiunge una nuova mappatura del percorso. Come percorso di compilazione dovresti usare un percorso simile a Unix (ad esempio/cygdrive/c), come percorso di sistema locale dovresti usare il percorso simile a Windows (ad es. C :).

+1

Grazie, pensamiento, l'ho provato, ma non ha funzionato. La mia comprensione è che questa mappatura del percorso non influenza il percorso che Eclipse fornisce a GDB come eseguibile per il debug. Il nome dell'impostazione non suggerisce che questo dovrebbe funzionare, neanche. –

+0

Questo ha funzionato per me. Grazie pensamiento! –

+0

ha funzionato per me. Grazie! – Moss

Problemi correlati