mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 20:44:16 +00:00 
			
		
		
		
	 c24999fa53
			
		
	
	
		c24999fa53
		
	
	
	
	
		
			
			This introduces the qemu-gdb command "qemu timers" which will dump the state of the main timers in the system. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/python
 | |
| 
 | |
| # GDB debugging support
 | |
| #
 | |
| # Copyright 2012 Red Hat, Inc. and/or its affiliates
 | |
| #
 | |
| # Authors:
 | |
| #  Avi Kivity <avi@redhat.com>
 | |
| #
 | |
| # This work is licensed under the terms of the GNU GPL, version 2.  See
 | |
| # the COPYING file in the top-level directory.
 | |
| #
 | |
| # Contributions after 2012-01-13 are licensed under the terms of the
 | |
| # GNU GPL, version 2 or (at your option) any later version.
 | |
| 
 | |
| # Usage:
 | |
| # At the (gdb) prompt, type "source scripts/qemu-gdb.py".
 | |
| # "help qemu" should then list the supported QEMU debug support commands.
 | |
| 
 | |
| import gdb
 | |
| 
 | |
| import os, sys
 | |
| 
 | |
| # Annoyingly, gdb doesn't put the directory of scripts onto the
 | |
| # module search path. Do it manually.
 | |
| 
 | |
| sys.path.append(os.path.dirname(__file__))
 | |
| 
 | |
| from qemugdb import aio, mtree, coroutine, tcg, timers
 | |
| 
 | |
| class QemuCommand(gdb.Command):
 | |
|     '''Prefix for QEMU debug support commands'''
 | |
|     def __init__(self):
 | |
|         gdb.Command.__init__(self, 'qemu', gdb.COMMAND_DATA,
 | |
|                              gdb.COMPLETE_NONE, True)
 | |
| 
 | |
| QemuCommand()
 | |
| coroutine.CoroutineCommand()
 | |
| mtree.MtreeCommand()
 | |
| aio.HandlersCommand()
 | |
| tcg.TCGLockStatusCommand()
 | |
| timers.TimersCommand()
 | |
| 
 | |
| coroutine.CoroutineSPFunction()
 | |
| coroutine.CoroutinePCFunction()
 | |
| 
 | |
| # Default to silently passing through SIGUSR1, because QEMU sends it
 | |
| # to itself a lot.
 | |
| gdb.execute('handle SIGUSR1 pass noprint nostop')
 |