[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