org.chromium.debug.core/src/org/chromium/debug/core/model/VProjectWorkspaceBridge.java
--- a/org.chromium.debug.core/src/org/chromium/debug/core/model/VProjectWorkspaceBridge.java Mon Mar 01 17:26:39 2010 -0800
+++ b/org.chromium.debug.core/src/org/chromium/debug/core/model/VProjectWorkspaceBridge.java Tue Mar 02 14:35:28 2010 -0800
@@ -10,6 +10,8 @@
import org.chromium.debug.core.util.ChromiumDebugPluginUtil;
import org.chromium.sdk.Breakpoint;
import org.chromium.sdk.CallFrame;
+import org.chromium.sdk.DebugContext;
+import org.chromium.sdk.ExceptionData;
import org.chromium.sdk.JavascriptVm;
import org.chromium.sdk.Script;
import org.chromium.sdk.JavascriptVm.BreakpointCallback;
@@ -265,12 +267,25 @@
public String getThreadLabel(JavascriptThread thread) {
String url = thread.getDebugTarget().getJavascriptEmbedder().getThreadName();
- return NLS.bind(Messages.JsThread_ThreadLabelFormat, (thread.isSuspended()
- ? Messages.JsThread_ThreadLabelSuspended
- : Messages.JsThread_ThreadLabelRunning), (url.length() > 0
+ return NLS.bind(Messages.JsThread_ThreadLabelFormat, getThreadStateLabel(thread), (url.length() > 0
? (" : " + url) : "")); //$NON-NLS-1$ //$NON-NLS-2$
}
+ private String getThreadStateLabel(JavascriptThread thread) {
+ if (thread.isSuspended()) {
+ DebugContext context = thread.getDebugTarget().getDebugContext();
+ ExceptionData exceptionData = context.getExceptionData();
+ if (exceptionData != null) {
+ return NLS.bind(Messages.JsThread_ThreadLabelSuspendedExceptionFormat,
+ exceptionData.getExceptionMessage());
+ } else {
+ return Messages.JsThread_ThreadLabelSuspended;
+ }
+ } else {
+ return Messages.JsThread_ThreadLabelRunning;
+ }
+ }
+
public String getStackFrameLabel(StackFrame stackFrame) throws DebugException {
CallFrame callFrame = stackFrame.getCallFrame();
String name = callFrame.getFunctionName();