Come posso vedere quali chiamate di sistema sta effettuando il mio programma Java? C'è uno strumento che lo farà su Linux?Visualizzazione di tutte le chiamate di sistema effettuate da un programma Java
risposta
Uso strace:
strace java your_program
vedere ltrace http://linux.die.net/man/1/ltrace
ptrace potrebbe essere più utile in questo caso –
@MikeKwan 'ltrace' è per le chiamate alle funzioni di libreria e' ptrace' è per esaminare la memoria di altri processi. 'strace' è quello per le chiamate di sistema. –
Usa strace. Ma c'è un trucco per il mio caso. È necessaria l'opzione -f
. Ad esempio, il seguente codice:
public class Foo {
public static void main (String [] args) {
System.out.println("XXX");
}
}
Dopo l'esecuzione javac Foo.java
per compilarlo, strace java Foo 2>&1 | grep write
stampa nulla. Ma strace -f java Foo 2>&1 | grep write
stampe:
[pid 11655] write(3, "0x63", 4) = 4
[pid 11655] write(3, "\0", 1) = 1
[pid 11655] write(3, "\0", 1) = 1
[pid 11655] write(3, "\0", 1) = 1
[pid 11655] write(3, "\0", 1) = 1
[pid 11655] write(3, "\0", 1) = 1
[pid 11655] write(3, "\0", 1) = 1
[pid 11655] write(3, "\0", 1) = 1
[pid 11655] write(3, "\0", 1) = 1
[pid 11655] write(1, "XXX", 3XXX) = 3
[pid 11655] write(1, "\n", 1
[pid 11655] write(1, "XXX", 3XXX) = 3
mostra la chiamata di sistema fatto per System.out.println("XXX")
.
- 1. Elenco di tutte le chiamate di funzione effettuate in un'applicazione
- 2. Come monitorare le chiamate di rete effettuate da iOS Simulator
- 3. Aggiunta di un parametro generale a tutte le chiamate ajax effettuate con jQuery
- 4. GCC come bloccare le chiamate di sistema all'interno di un programma?
- 5. Esecuzione di un programma java da un altro programma java
- 6. HMAC è necessario se tutte le chiamate API vengono effettuate tramite https?
- 7. Annulla tutte le chiamate di servizio Web da Alamofire
- 8. Quali sono le chiamate di sistema/sistema operativo nativo di Windows e Linux eseguite da malloc()?
- 9. Chiamate di sistema del sistema operativo da script bash
- 10. Come effettuare chiamate di comando di sistema in Java/Groovy?
- 11. Chiamate di sistema Linux e modalità kernel
- 12. Elenco di tutte le proprietà di sistema supportate da un JRE
- 13. È un buon modo per intercettare le chiamate di sistema?
- 14. Chiamate di sistema su Windows
- 15. Visualizzazione di tutte le variabili definite
- 16. Quando e come vengono interrotte le chiamate di sistema?
- 17. annullare tutte le modifiche apportate nel controller di visualizzazione figlio
- 18. Tutte le chiamate di sistema non sono sicure in tempo reale?
- 19. Rileva se e quando vengono effettuate chiamate jQuery AJAX
- 20. Assistente di visualizzazione delle chiamate di Zend Framework da Zend_View_Helper
- 21. Esecuzione di un programma Java da Command Line Linux
- 22. Come proibire le chiamate di sistema, GNU/Linux
- 23. Perché le chiamate di sistema restituiscono EFAULT invece di inviare un segfault?
- 24. Come rendere sequenziali tutte le chiamate AJAX?
- 25. Le chiamate di sistema 'sync' e 'syncfs' sono associate alle chiamate 'fsync' di FUSE?
- 26. Richieste di intercettazione effettuate da WebBrowser in C#
- 27. Monitoraggio di determinate chiamate di sistema eseguite da un processo in Windows
- 28. Come posso verificare il numero di chiamate AJAX effettuate, in un test di integrazione?
- 29. estratto di tutte le immagini da HTML utilizzando Java
- 30. Android: come registrare tutte le chiamate dei metodi di attività?
Potresti usare 'strace java your_program'? – chrisaycock
Ho provato e ha funzionato. Grazie – Ragini