diff --git a/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/CallStackView.java b/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/CallStackView.java index 2c2ee60..413d9d6 100644 --- a/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/CallStackView.java +++ b/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/CallStackView.java @@ -46,6 +46,8 @@ Object value = ((TreeNode)element).getValue(); if (value instanceof CallStackModel) { MethodCaller methodExecution = ((CallStackModel)value).getMethodCaller(); + SeedAliasView.createSeedAliasesByMethodExecution(methodExecution); + SeedAliasView.refresh(); javaEditorOperator.openSrcFileOfMethodExecution(methodExecution); } } diff --git a/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/ObjectFlowAliasView.java b/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/ObjectFlowAliasView.java index e836290..f882cbb 100644 --- a/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/ObjectFlowAliasView.java +++ b/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/ObjectFlowAliasView.java @@ -156,7 +156,7 @@ } private void findSeedAliases() { - SeedAliasView.createSeedAliases(selectObjectFlowAlias); + SeedAliasView.createSeedAliasesByAlias(selectObjectFlowAlias); SeedAliasView.refresh(); CallStackView.updateByAlias(selectObjectFlowAlias); CallStackView.refresh(); diff --git a/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/SeedAliasView.java b/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/SeedAliasView.java index 6c6c043..aa3dcee 100644 --- a/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/SeedAliasView.java +++ b/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/SeedAliasView.java @@ -163,8 +163,12 @@ return seedAliases.getDebuggerStopMethodExecution(); } - public static void createSeedAliases(MethodCaller alias) { - seedAliases.createSeedAliases(alias); + public static void createSeedAliasesByAlias(MethodCaller alias) { + seedAliases.createSeedAliasesByAlias(alias); + } + + public static void createSeedAliasesByMethodExecution(MethodCaller methodExecution) { + seedAliases.createSeedAliasesByMethodExecution(methodExecution); } public static void refresh() { @@ -174,7 +178,7 @@ CallStackView.reset(); } viewer.refresh(); - CallStackView.refresh(); +// CallStackView.refresh(); } private void reset() { diff --git a/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/SeedAliases.java b/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/SeedAliases.java index e295db3..e67a6ec 100644 --- a/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/SeedAliases.java +++ b/org.ntlab.reverseDebugger/src/org/ntlab/reversedebugger/SeedAliases.java @@ -106,17 +106,31 @@ } /** - * �n���ꂽ�G�C���A�X������郁�\�b�h���s���̑S�V�[�h�G�C���A�X�̈ꗗ���Z�b�g���� + * �n���ꂽ�G�C���A�X�������Ă��郁�\�b�h���s���̑S�V�[�h�G�C���A�X�̈ꗗ���Z�b�g���� * @param alias */ - public void createSeedAliases(MethodCaller alias) { + public void createSeedAliasesByAlias(MethodCaller alias) { VirtualMachine vm = alias.getVm(); ThreadReference thread = alias.getThread(); MethodCaller mc = new MethodCaller(vm, thread); try { Value methodExecution = alias.callInstanceMethod("getMethodExecution"); findAllSeedAlias(vm, thread, methodExecution); - } catch (InvalidTypeException | ClassNotLoadedException | InvocationException | IncompatibleThreadStateException e) { + } catch (InvalidTypeException | ClassNotLoadedException + | InvocationException | IncompatibleThreadStateException e) { + e.printStackTrace(); + } + } + + /** + * �n���ꂽ���\�b�h���s���̑S�V�[�h�G�C���A�X�̈ꗗ���Z�b�g���� + * @param methodExecution + */ + public void createSeedAliasesByMethodExecution(MethodCaller methodExecution) { + try { + findAllSeedAlias(methodExecution.getVm(), methodExecution.getThread(), methodExecution.getObj()); + } catch (InvalidTypeException | ClassNotLoadedException + | InvocationException | IncompatibleThreadStateException e) { e.printStackTrace(); } }