[jboss-cvs] jboss-profiler/jvmti-lib/java-src/org/jboss/profiler/jvmti ...
Clebert Suconic
csuconic at jboss.com
Mon Jun 25 21:52:22 EDT 2007
User: csuconic
Date: 07/06/25 21:52:22
Modified: jvmti-lib/java-src/org/jboss/profiler/jvmti
JVMTIInterface.java
Log:
Fixing crash on jvmti/linux
Revision Changes Path
1.41 +16 -19 jboss-profiler/jvmti-lib/java-src/org/jboss/profiler/jvmti/JVMTIInterface.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: JVMTIInterface.java
===================================================================
RCS file: /cvsroot/jboss/jboss-profiler/jvmti-lib/java-src/org/jboss/profiler/jvmti/JVMTIInterface.java,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -b -r1.40 -r1.41
--- JVMTIInterface.java 19 Jun 2006 21:34:50 -0000 1.40
+++ JVMTIInterface.java 26 Jun 2007 01:52:22 -0000 1.41
@@ -287,36 +287,45 @@
private String callToString(Object obj, boolean callToString)
{
+ String returnValue = null;
try
{
if(obj==null)
{
- return "null";
+ returnValue = "null";
}
else
{
if (callToString)
{
- return obj.toString();
+ returnValue = obj.toString();
}
else
{
if (obj instanceof Class)
{
- return obj.toString();
+ returnValue = obj.toString();
}
else
{
- return obj.getClass().getName() + "@" + System.identityHashCode(obj);
+ returnValue = obj.getClass().getName() + "@" + System.identityHashCode(obj);
}
}
}
-
}
catch (Throwable e)
{
return obj.getClass().getName() + " toString had an Exception ";
}
+
+ if (returnValue.length() > 200)
+ {
+ return obj.getClass().getName() + "@" + System.identityHashCode(obj);
+ }
+ else
+ {
+ return returnValue;
+ }
}
/** Explore references recursevely */
@@ -408,8 +417,7 @@
switch (point.getReferenceType())
{
case JVMTICallBack.JVMTI_REFERENCE_CLASS:;// Reference from an object to its class.
- out.print("<br>" + level + "InstanceOfReference:");
- out.println("ToString=" + callToString(referenceHolder,useToString));
+ out.println("<br>" + level + "InstanceOfReference:ToString=" + callToString(referenceHolder,useToString));
nextReference = referenceHolder;
@@ -436,7 +444,7 @@
fieldName = field.toString();
}
}
- out.print("<br>" + level + " FieldReference " + fieldName + "=" + callToString(referenceHolder,useToString));
+ out.println("<br>" + level + " FieldReference " + fieldName + "=" + callToString(referenceHolder,useToString));
nextReference = referenceHolder;
break;
}
@@ -503,17 +511,6 @@
className = methodClass.getName();
}
- Thread.yield();
-
- // this is weird but without this sleep here, the JVM crashes.
- /*try
- {
- Thread.sleep(10);
- } catch (InterruptedException e)
- {
- e.printStackTrace();
- }*/
-
String methodName = this.getMethodName(point.getMethod());
out.println("<br>" + level + " Reference inside a method - " + className+ "::" + methodName);
More information about the jboss-cvs-commits
mailing list