Questo è il comando winedbg-development che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
winedbg - Debugger del vino
SINOSSI
vinodbg [ Opzioni ] [ nome del programma [ argomenti_programma ] | wpid ]
vinodbg --gdb [ Opzioni ] [ nome del programma [ argomenti_programma ] | wpid ]
vinodbg --auto wpid
vinodbg --minidump [ file.mdmp ] wpid
vinodbg file.mdmp
DESCRIZIONE
vinodbg è un debugger per Wine. Permette:
+ debug di applicazioni Win32 native
+ debug delle applicazioni Winelib
+ essere un sostituto per il dottor Watson
MODALITA '
vinodbg può essere utilizzato in cinque modalità. Il primo argomento del programma determina la modalità
winedbg verrà eseguito.
difetto
Senza alcuna modalità esplicita, questo è standard vinodbg modalità operativa. vinodbg volere
fungere da front-end per l'utente.
--gdb vinodbg verrà utilizzato come proxy per gdb. gdb sarà il front-end per il comando
manipolazione, e vinodbg indirizzerà tutte le richieste di debug da gdb alle API Win32.
--auto Questa modalità viene utilizzata quando vinodbg è impostato in AeDebug voce di registro come predefinita
eseguire il debug. vinodbg visualizzerà quindi le informazioni di base su un arresto anomalo. Questo è utile
per gli utenti che non vogliono eseguire il debug di un arresto anomalo, ma piuttosto raccogliere informazioni rilevanti
sull'arresto anomalo da inviare agli sviluppatori.
--minidump
Questa modalità è simile alla --auto uno, tranne che invece di stampare il
informazioni sullo schermo (come --auto fa), viene salvato in un file minidump. Il
il nome del file viene passato sulla riga di comando o generato da VinoDbg quando
nessuno è dato. Questo file potrebbe essere ricaricato in seguito in vinodbg per ulteriori
visita medica.
file.mdmp
In questa modalità vinodbg ricarica lo stato di un debuggee che è stato salvato in a
file minidump. Vedi sia il minidump comando qui sotto, o il --minidump modo.
VERSIONI
quando nel difetto modalità, sono disponibili le seguenti opzioni:
--comando stringa
vinodbg eseguirà il comando stringa come se fosse digitato sulla riga di comando di winedbg,
e poi uscirà. Questo può essere utile per ottenere il pid dei processi in esecuzione
(winedbg --comando "info proc").
--file Nome del file
vinodbg eseguirà l'elenco dei comandi contenuti nel file nomefile come se fossero
sono stati digitati sulla riga di comando winedbg e quindi uscirà.
quando nel gdb modalità proxy, sono disponibili le seguenti opzioni:
--nessun inizio
gdb non verrà avviato automaticamente. Informazioni utili per iniziare gdb is
stampato su schermo. Questo è in qualche modo utile quando non si utilizza direttamente gdb ma alcuni
front-end grafici, come ddd or kgbd.
--con-xterm
Questo verrà eseguito gdb nel proprio xterm invece di usare l'attuale console Unix per
visualizzazione testuale.
In tutte le modalità, il resto della riga di comando, una volta passato, viene utilizzato per identificare quale
i programmi, se presenti, devono essere sottoposti a debug:
nome del programma
Questo è il nome di un eseguibile da avviare per una sessione di debug. vinodbg volere
effettivamente creare un processo con questo eseguibile. Se argomenti_programmi sono inoltre
dati, verranno utilizzati come argomenti per la creazione del processo di cui eseguire il debug.
wpid vinodbg si collegherà al processo che è il pid di Windows wpid. Usa il info proc
comando dentro vinodbg per elencare i processi in esecuzione e i relativi pid di Windows.
difetto
Se non viene specificato nulla, entrerai nel debugger senza alcuna esecuzione né allegato
processi. Dovrai fare il lavoro da solo.
COMANDI
Predefinito modalità, ed while ricarico a minidump file:
La maggior parte dei comandi utilizzati in vinodbg sono simili a quelli di gdb. Si prega di fare riferimento al gdb
documentazione per qualche dettaglio in più. Vedi il gdb differenze sezione in seguito per ottenere un
elenco di variazioni da gdb comandi.
Varie. comandi
abortire Interrompe il debugger.
smettere Esce dal debugger.
allegare N
Allega a un processo del vino (N è il suo ID Windows, numerico o esadecimale). Gli ID possono essere
ottenuto utilizzando il info processi comando. Notare la info processi il comando ritorna
valori esadecimali
DETACH Staccare da un processo di vino.
Aiuto comandi
Aiuto Stampa un po' di aiuto sui comandi.
Aiuto info
Stampa un po' di aiuto sui comandi info
Flow di controllo comandi
conto Continua l'esecuzione fino al prossimo punto di interruzione o eccezione.
passare Passa l'evento di eccezione alla catena di filtri.
passo Continua l'esecuzione fino alla successiva riga di codice C (inserisce la chiamata di funzione)
GENERAZIONE Continua l'esecuzione fino alla prossima riga di codice C (non inserisce la chiamata di funzione)
passo Esegui la successiva istruzione di assemblaggio (accede alla chiamata di funzione)
prossimo Esegui la prossima istruzione di assemblaggio (non entra nella chiamata di funzione)
finire Eseguire fino al raggiungimento del ritorno della funzione corrente.
conto, passo, GENERAZIONE, passo, prossimo può essere suffisso da un numero (N), il che significa che il comando
deve essere eseguito N volte prima che il controllo venga restituito all'utente.
punti di interruzione, punti di osservazione
enable N
Abilita (break|watch)-point N
disable N
Disabilita (break|watch)-point N
delete N
Elimina (break|watch)-point N
cond N Rimuove qualsiasi condizione esistente a (break|watch)-point N
cond N espr
Aggiunge condizione espr a (break|watch)-point N. espr sarà valutato ogni volta che
(break|watch)-point viene raggiunto. Se il risultato è un valore zero, il punto di interruzione non lo è
innescato.
rompere * N
Aggiunge un punto di interruzione all'indirizzo N
rompere id
Aggiunge un punto di interruzione all'indirizzo del simbolo id
rompere id N
Aggiunge un punto di interruzione alla linea N simbolo interno id.
rompere N
Aggiunge un punto di interruzione alla riga N del file sorgente corrente.
rompere Aggiunge un punto di interruzione alla corrente $PC indirizzo.
orologio * N
Aggiunge un comando watch (in scrittura) all'indirizzo N (su 4 byte).
orologio id
Aggiunge un comando watch (in scrittura) all'indirizzo del simbolo id. La taglia dipende dalla taglia
of id.
orologio * N
Aggiunge un comando watch (in lettura) all'indirizzo N (su 4 byte).
orologio id
Aggiunge un comando watch (in lettura) all'indirizzo del simbolo id. La dimensione dipende dalla dimensione di
id.
info rompere
Elenca tutti i punti (break|watch) (con il loro stato).
Puoi usare il simbolo Punto d'entrata per rappresentare il punto di ingresso della Dll.
Quando si imposta un (break|watch)-point by id, se il simbolo non può essere trovato (ad esempio, il
simbolo è contenuto in un modulo non ancora caricato), vinodbg ricorderà il nome del
simbolo e cercherà di impostare il punto di interruzione ogni volta che viene caricato un nuovo modulo (fino a quando
riesce).
pila manipolazione
bt Stampa lo stack di chiamate del thread corrente.
bt N Stampa stack chiamante di thread di ID N. Nota: questo non cambia la posizione di
il frame corrente come manipolato da up & dn comandi).
up Sale di un fotogramma nello stack del thread corrente
up N Salire N frame nello stack del thread corrente
dn Scende di un fotogramma nello stack del thread corrente
dn N Scende N frame nello stack del thread corrente
telaio N
Set N come frame corrente per lo stack del thread corrente.
info gente del posto
Stampa le informazioni sulle variabili locali per il frame della funzione corrente.
elenco & source filetto manipolazione
mostrare attraverso le sue creazioni dir
Stampa l'elenco delle directory in cui vengono cercati i file sorgente.
dir pathname
Aggiunge pathname alla lista delle directory dove cercare i file sorgente
dir Elimina l'elenco delle directory in cui cercare i file sorgente
file di simboli pathname
Carica il file di definizione del simbolo esterno pathname
file di simboli pathname N
Carica il file di definizione del simbolo esterno pathname (applicando un offset di N a
indirizzi)
stratagemma Elenca 10 righe sorgente in avanti dalla posizione corrente.
stratagemma - Elenca 10 righe di origine a ritroso dalla posizione corrente
stratagemma N Elenca 10 righe di origine dalla riga N nel file corrente
stratagemma pathname:N
Elenca 10 righe di origine dalla riga N in archivio pathname
stratagemma id
Elenca 10 righe di funzioni di origine id
stratagemma * N
Elenca 10 righe di origine dall'indirizzo N
È possibile specificare la destinazione finale (per modificare il valore di 10 righe) utilizzando il separatore ','. Per
esempio:
stratagemma 123 234
elenca le righe di origine dalla riga 123 fino alla riga 234 nel file corrente
stratagemma foo.c:1,56
elenca le righe di origine dalla riga 1 fino alla 56 nel file foo.c
Visualizzazione
Un display è un'espressione che viene valutata e stampata dopo l'esecuzione di any vinodbg
comando.
dalla visualizzazione
info dalla visualizzazione
Elenca i display attivi
dalla visualizzazione espr
Aggiunge un display per l'espressione espr
dalla visualizzazione /FMT espr
Aggiunge un display per l'espressione espr. Stampa valutata espr è fatto usando il dato
formato (vedi stampare command per maggiori informazioni sui formati)
del dalla visualizzazione N
non visualizzato N
Elimina display N
Smontaggio
disabile Smontare dalla posizione attuale
disabile espr
Smontare dall'indirizzo espr
disabile espr,espr
Disassembla il codice tra gli indirizzi specificati dalle due espressioni
Memorie (lettura, scrittura, digitando)
x espr Esamina la memoria all'indirizzo espr
x /FMT espr
Esamina la memoria all'indirizzo espr usando il formato FMT
stampare espr
Stampa il valore di espr (possibilmente usando il suo tipo)
stampare /FMT espr
Stampa il valore di espr (possibilmente usando il suo tipo)
set var = espr
Scrive il valore di espr in var variabile
cosa è espr
Stampa il tipo di espressione C espr
FMT è l'uno o l'altro lettera or contare lettera, Dove lettera può essere:
è una stringa ASCII
ua stringa Unicode UTF16
i istruzioni (smontare)
x intero esadecimale senza segno a 32 bit
d intero decimale con segno a 32 bit
w Intero esadecimale senza segno a 16 bit
carattere c (vengono effettivamente stampati solo 0x20-0x7f stampabili)
b Intero esadecimale senza segno a 8 bit
g GUID Win32
Espressioni
Le espressioni in Wine Debugger sono per lo più scritte in forma C. Tuttavia, ce ne sono alcuni
discrepanze:
Gli identificatori possono prendere un '!' nei loro nomi. Ciò consente principalmente di specificare un modulo
da dove cercare l'ID, ad es USER32!CreaFinestraExA.
In un'operazione di cast, quando si specifica una struttura o un'unione, è necessario utilizzare la struttura
o la parola chiave union (anche se il tuo programma utilizza un typedef).
Quando si specifica un identificatore, se esistono più simboli con questo nome, il debugger lo farà
richiedere il simbolo che si desidera utilizzare. Prendi quello che vuoi dal suo numero.
Varie.
minidump file.mdmp salva il contesto di debug dell'oggetto del debug in un file minidump chiamato
file.mdmp.
Informazioni on Wine interni
info classe
Elenca tutte le classi Windows registrate in Wine
info classe id
Stampa informazioni sulla classe Windows id
info Share
Elenca tutte le librerie dinamiche caricate nel programma debuggato (incluso .so
file, DLL NE e PE)
info Share N
Stampa le informazioni sul modulo all'indirizzo N
info REGS
Stampa il valore dei registri della CPU
info tutti i registri
Stampa il valore dei registri CPU e Floating Point
info segmento
Elenca tutti i segmenti allocati (solo i386)
info segmento N
Stampa le informazioni sul segmento N (solo i386)
info pila
Stampa i valori in cima allo stack
info carta geografica
Elenca tutte le mappature virtuali utilizzate dal programma sottoposto a debug
info carta geografica N
Elenca tutte le mappature virtuali utilizzate dal programma di Windows pid N
info wnd
Visualizza la gerarchia delle finestre a partire dalla finestra del desktop
info wnd N
Stampa le informazioni della finestra della maniglia N
info processi
Elenca tutti i processi w nella sessione di Wine
info filo
Elenca tutti i w-thread nella sessione di Wine
info telaio
Elenca i frame di eccezione (a partire dallo stack frame corrente). Puoi anche passare,
come argomento opzionale, un id di thread (invece del thread corrente) per esaminarlo
frame di eccezione.
I messaggi di debug possono essere attivati e disattivati durante il debug utilizzando il set comando, ma
solo per i canali inizializzati con il WINEDEBUG variabile d'ambiente.
set avvertire + vincere
Attiva avviso su vincere canale
set + vincere
Attiva alert/fixme/err/trace on vincere canale
set - vincere
Disattiva alert/fixme/err/trace on vincere canale
set aggiustami - contro tutti i
Disattiva la classe fixme su tutti i canali
GDB modalità:
Vedere la gdb documentazione per tutti i gdb comandi.
Tuttavia, sono disponibili alcune estensioni di Wine, tramite monitore comando:
monitore wnd
Elenca tutte le finestre nella sessione Wine
monitore proc
Elenca tutti i processi nella sessione Wine
monitore mem
Visualizza la mappatura della memoria del processo di cui è stato eseguito il debug
Automatico ed minidump modalità:
Poiché non è possibile alcun input da parte dell'utente, non sono disponibili comandi.
AMBIENTE
VINO_GDB
Quando viene utilizzato in gdb modalità proxy, VINO_GDB specifica il nome (e il percorso) del
eseguibile da utilizzare per gdb. "gdb" viene utilizzato per impostazione predefinita.
AUTORI
La prima versione è stata scritta da Eric Youngdale.
Vedi l'elenco degli sviluppatori di Wine per il resto dei contributori.
Usa winedbg-development online utilizzando i servizi onworks.net