Search in sources :

Example 1 with StackWalkCommand

use of com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.StackWalkCommand in project openj9 by eclipse.

the class GetCommandsTask method run.

/*
	 * (non-Javadoc)
	 * 
	 * @see com.ibm.j9ddr.IBootstrapRunnable#run(com.ibm.j9ddr.IVMData,
	 * java.lang.Object[])
	 */
public void run(IVMData vmData, Object[] userData) {
    Object[] passbackArray = (Object[]) userData[0];
    Object loader = (Object) passbackArray[1];
    List<ICommand> toPassBack = getBaseJVMCommands();
    toPassBack.add(new StackWalkCommand());
    toPassBack.add(new StructureCommand());
    toPassBack.add(new ThreadsCommand());
    toPassBack.add(new ACCommand());
    toPassBack.add(new AllClassesCommand());
    toPassBack.add(new ITableSizeCommand());
    toPassBack.add(new BuildFlagsCommand());
    toPassBack.add(new WalkInternTableCommand());
    toPassBack.add(new ClassForNameCommand());
    toPassBack.add(new DumpAllClassloadersCommand());
    toPassBack.add(new DumpAllRegionsCommand());
    toPassBack.add(new DumpAllSegmentsCommand());
    toPassBack.add(new FindOverlappingSegmentsCommand());
    toPassBack.add(new FindStackValueCommand());
    toPassBack.add(new VmCheckCommand());
    toPassBack.add(new DumpRomClassCommand());
    toPassBack.add(new WhatIsCommand());
    toPassBack.add(new DumpRamClassLinearCommand());
    toPassBack.add(new DumpRomClassLinearCommand());
    toPassBack.add(new DumpRomMethodCommand());
    toPassBack.add(new DumpAllRomClassLinearCommand());
    toPassBack.add(new DumpAllRamClassLinearCommand());
    toPassBack.add(new VMConstantPoolCommand());
    toPassBack.add(new J9VTablesCommand());
    toPassBack.add(new MethodForNameCommand());
    toPassBack.add(new BytecodesCommand());
    toPassBack.add(new FindPatternCommand());
    toPassBack.add(new JitMetadataFromPcCommand());
    toPassBack.add(new FindMethodFromPcCommand());
    toPassBack.add(new DumpSegmentsInListCommand());
    toPassBack.add(new J9StaticsCommand());
    toPassBack.add(new JitstackCommand());
    toPassBack.add(new LocalMapCommand());
    toPassBack.add(new StackmapCommand());
    toPassBack.add(new J9ClassShapeCommand());
    toPassBack.add(new FindVMCommand());
    toPassBack.add(new ShrCCommand());
    toPassBack.add(new QueryRomClassCommand());
    toPassBack.add(new RamClassSummaryCommand());
    toPassBack.add(new RomClassSummaryCommand());
    toPassBack.add(new ClassloadersSummaryCommand());
    toPassBack.add(new ExtendedMethodFlagInfoCommand());
    toPassBack.add(new AnalyseRomClassUTF8Command());
    toPassBack.add(new J9MemTagCommands());
    toPassBack.add(new CompressedRefMappingCommand());
    toPassBack.add(new ShowDumpAgentsCommand());
    toPassBack.add(new NativeMemInfoCommand());
    toPassBack.add(new SetVMCommand());
    toPassBack.add(new TraceConfigCommand());
    toPassBack.add(new WalkJ9PoolCommand());
    toPassBack.add(new J9RegCommand());
    toPassBack.add(new CoreInfoCommand());
    toPassBack.add(new GCCheckCommand());
    toPassBack.add(new DumpStringTableCommand());
    toPassBack.add(new SearchStringTableCommand());
    toPassBack.add(new RomClassForNameCommand());
    toPassBack.add(new RuntimeSettingsCommand());
    toPassBack.add(new RootPathCommand());
    toPassBack.add(new HashCodeCommand());
    toPassBack.add(new MonitorsCommand());
    toPassBack.add(new MarkMapCommand());
    toPassBack.add(new DumpSegregatedStatsCommand());
    toPassBack.add(new ObjectSizeInfo());
    toPassBack.add(new DumpContendedLoadTable());
    loadPlugins(toPassBack, loader);
    passbackArray[0] = toPassBack;
}
Also used : TraceConfigCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.TraceConfigCommand) RomClassSummaryCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.RomClassSummaryCommand) VmCheckCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.VmCheckCommand) DumpSegregatedStatsCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpSegregatedStatsCommand) FindMethodFromPcCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.FindMethodFromPcCommand) J9StaticsCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.J9StaticsCommand) ITableSizeCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.ITableSizeCommand) DumpRomClassCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpRomClassCommand) StackmapCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.StackmapCommand) VMConstantPoolCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.VMConstantPoolCommand) DumpSegmentsInListCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpSegmentsInListCommand) BuildFlagsCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.BuildFlagsCommand) WalkJ9PoolCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.WalkJ9PoolCommand) SetVMCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.SetVMCommand) DumpAllRamClassLinearCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpAllRamClassLinearCommand) StackWalkCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.StackWalkCommand) ClassForNameCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.ClassForNameCommand) RomClassForNameCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.RomClassForNameCommand) ClassloadersSummaryCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.ClassloadersSummaryCommand) DumpAllSegmentsCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpAllSegmentsCommand) AnalyseRomClassUTF8Command(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.AnalyseRomClassUTF8Command) DumpRamClassLinearCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpRamClassLinearCommand) DumpAllClassloadersCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpAllClassloadersCommand) NativeMemInfoCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.NativeMemInfoCommand) AllClassesCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.AllClassesCommand) J9VTablesCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.J9VTablesCommand) GCCheckCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.GCCheckCommand) SearchStringTableCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.SearchStringTableCommand) WalkInternTableCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.WalkInternTableCommand) FindOverlappingSegmentsCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.FindOverlappingSegmentsCommand) DumpStringTableCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpStringTableCommand) DumpAllRomClassLinearCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpAllRomClassLinearCommand) CompressedRefMappingCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.CompressedRefMappingCommand) J9ClassShapeCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.J9ClassShapeCommand) DumpRomClassLinearCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpRomClassLinearCommand) FindPatternCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.FindPatternCommand) RamClassSummaryCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.RamClassSummaryCommand) RuntimeSettingsCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.RuntimeSettingsCommand) LocalMapCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.LocalMapCommand) ObjectSizeInfo(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.ObjectSizeInfo) ICommand(com.ibm.j9ddr.tools.ddrinteractive.ICommand) MonitorsCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.MonitorsCommand) DumpContendedLoadTable(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpContendedLoadTable) J9MemTagCommands(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.J9MemTagCommands) QueryRomClassCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.QueryRomClassCommand) JitstackCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.JitstackCommand) FindVMCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.FindVMCommand) DumpAllRegionsCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpAllRegionsCommand) FindStackValueCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.FindStackValueCommand) RootPathCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.RootPathCommand) ACCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.ACCommand) DumpRomMethodCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpRomMethodCommand) J9RegCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.J9RegCommand) ShrCCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.ShrCCommand) MarkMapCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.MarkMapCommand) JitMetadataFromPcCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.JitMetadataFromPcCommand) RomClassForNameCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.RomClassForNameCommand) ExtendedMethodFlagInfoCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.ExtendedMethodFlagInfoCommand) CoreInfoCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.CoreInfoCommand) ShowDumpAgentsCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.ShowDumpAgentsCommand) HashCodeCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.HashCodeCommand) MethodForNameCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.MethodForNameCommand) BytecodesCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.BytecodesCommand)

Example 2 with StackWalkCommand

use of com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.StackWalkCommand in project openj9 by eclipse.

the class ThreadsCommand method stack.

private void stack(PrintStream out, Context context, String command) throws DDRInteractiveCommandException {
    try {
        J9JavaVMPointer vm = J9RASHelper.getVM(DataType.getJ9RASPointer());
        J9VMThreadPointer mainThread = vm.mainThread();
        StackWalkCommand walkCommand = new StackWalkCommand();
        if (mainThread.notNull()) {
            J9VMThreadPointer threadCursor = vm.mainThread();
            do {
                out.println(String.format("\t!stack 0x%08x\t!j9vmthread 0x%08x\t!j9thread 0x%08x\ttid 0x%x (%d) // %s", threadCursor.getAddress(), threadCursor.getAddress(), threadCursor.osThread().getAddress(), threadCursor.osThread().tid().longValue(), threadCursor.osThread().tid().longValue(), getThreadName(threadCursor)));
                out.append(nl);
                walkCommand.run(command, new String[] { Long.toString(threadCursor.getAddress()) }, context, out);
                out.append(nl);
                threadCursor = threadCursor.linkNext();
            } while (!threadCursor.eq(mainThread));
        }
    } catch (CorruptDataException e) {
        throw new DDRInteractiveCommandException(e);
    }
}
Also used : J9VMThreadPointer(com.ibm.j9ddr.vm29.pointer.generated.J9VMThreadPointer) DDRInteractiveCommandException(com.ibm.j9ddr.tools.ddrinteractive.DDRInteractiveCommandException) J9JavaVMPointer(com.ibm.j9ddr.vm29.pointer.generated.J9JavaVMPointer) StackWalkCommand(com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.StackWalkCommand) CorruptDataException(com.ibm.j9ddr.CorruptDataException)

Aggregations

StackWalkCommand (com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.StackWalkCommand)2 CorruptDataException (com.ibm.j9ddr.CorruptDataException)1 DDRInteractiveCommandException (com.ibm.j9ddr.tools.ddrinteractive.DDRInteractiveCommandException)1 ICommand (com.ibm.j9ddr.tools.ddrinteractive.ICommand)1 J9JavaVMPointer (com.ibm.j9ddr.vm29.pointer.generated.J9JavaVMPointer)1 J9VMThreadPointer (com.ibm.j9ddr.vm29.pointer.generated.J9VMThreadPointer)1 ACCommand (com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.ACCommand)1 AllClassesCommand (com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.AllClassesCommand)1 AnalyseRomClassUTF8Command (com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.AnalyseRomClassUTF8Command)1 BuildFlagsCommand (com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.BuildFlagsCommand)1 BytecodesCommand (com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.BytecodesCommand)1 ClassForNameCommand (com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.ClassForNameCommand)1 ClassloadersSummaryCommand (com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.ClassloadersSummaryCommand)1 CompressedRefMappingCommand (com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.CompressedRefMappingCommand)1 CoreInfoCommand (com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.CoreInfoCommand)1 DumpAllClassloadersCommand (com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpAllClassloadersCommand)1 DumpAllRamClassLinearCommand (com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpAllRamClassLinearCommand)1 DumpAllRegionsCommand (com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpAllRegionsCommand)1 DumpAllRomClassLinearCommand (com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpAllRomClassLinearCommand)1 DumpAllSegmentsCommand (com.ibm.j9ddr.vm29.tools.ddrinteractive.commands.DumpAllSegmentsCommand)1