Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Language IDEs » Java Development Tools (JDT) » Step filters are not applied to call stack(A bug?)
icon9.gif  Step filters are not applied to call stack [message #514257] Sat, 13 February 2010 05:25 Go to next message
Sarge  is currently offline Sarge
Messages: 2
Registered: February 2010
Junior Member
Hello,

In the debug view I right-click on the currently debugged thread and check "Use Step Filters". In the step filters (e.g. "Edit Step Filters..." from the same menu) I select java.*, sun.*, org.springframework.*, etc.

However, in the call stack there is still all the stuff like:
- sun.reflect.NativeMethodAccessorImpl.invoke()
- java.lang.reflect.Method.invoke()
- org.springframework.aop.framework.ReflectiveMethodInvocation .proceed()
etc.

The call stack looks ugly, it is hard to see the essential locations among the noise, 7 to 1 on average.

Am I doing something wrong? Or is there no such functionality (call stack filtering) indeed? Or is it a bug in my version of Eclipse? (the latest, according to the update manager). Perhaps there is a plugin for this purpose. Please, help!

To give an example, below is my call stack:
Daemon Thread [http-8080-1] (Suspended (breakpoint at line 917 in HibernateNodeDaoServiceImpl))	
	HibernateNodeDaoServiceImpl.recordNodeUpdate(Node, Map<QName,Serializable>) line: 917	
	HibernateNodeDaoServiceImpl.addNodeProperty(Long, QName, Serializable) line: 1512	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 585	
	AopUtils.invokeJoinpointUsingReflection(Object, Method, Object[]) line: 304	
	ReflectiveMethodInvocation.invokeJoinpoint() line: 182	
	ReflectiveMethodInvocation.proceed() line: 149	
	TransactionalDaoInterceptor.invoke(MethodInvocation) line: 68	
	ReflectiveMethodInvocation.proceed() line: 171	
	DirtySessionMethodInterceptor.invoke(MethodInvocation) line: 419	
	ReflectiveMethodInvocation.proceed() line: 171	
	SingleEntryTransactionResourceInterceptor.invokeInternal(MethodInvocation) line: 163	
	SingleEntryTransactionResourceInterceptor.invoke(MethodInvocation) line: 138	
	ReflectiveMethodInvocation.proceed() line: 171	
	JdkDynamicAopProxy.invoke(Object, Method, Object[]) line: 204	
	$Proxy9.addNodeProperty(Long, QName, Serializable) line: not available	
	DbNodeServiceImpl.setPropertyImpl(Long, QName, Serializable) line: 1307	
	DbNodeServiceImpl.setProperty(NodeRef, QName, Serializable) line: 1271	
	GeneratedMethodAccessor474.invoke(Object, Object[]) line: not available	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 585	
	AopUtils.invokeJoinpointUsingReflection(Object, Method, Object[]) line: 304	
	ReflectiveMethodInvocation.invokeJoinpoint() line: 182	
	ReflectiveMethodInvocation.proceed() line: 149	
	MultiTNodeServiceInterceptor.invoke(MethodInvocation) line: 110	
	ReflectiveMethodInvocation.proceed() line: 171	
	JdkDynamicAopProxy.invoke(Object, Method, Object[]) line: 204	
	$Proxy11.setProperty(NodeRef, QName, Serializable) line: not available	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 585	
	StoreRedirectorProxyFactory$RedirectorInvocationHandler.invoke(Object, Method, Object[]) line: 221	
	$Proxy12.setProperty(NodeRef, QName, Serializable) line: not available	
	MLPropertyInterceptor.invoke(MethodInvocation) line: 252	
	ReflectiveMethodInvocation.proceed() line: 171	
	NodeRefPropertyMethodInterceptor.invoke(MethodInvocation) line: 265	
	ReflectiveMethodInvocation.proceed() line: 171	
	NodeRefPropertyMethodInterceptor.invoke(MethodInvocation) line: 265	
	ReflectiveMethodInvocation.proceed() line: 171	
	JdkDynamicAopProxy.invoke(Object, Method, Object[]) line: 204	
	$Proxy11.setProperty(NodeRef, QName, Serializable) line: not available	
	ContentServiceImpl$WriteStreamListener.contentStreamClosed() line: 636	
	AbstractContentAccessor$CallbackFileChannel$1.execute() line: 359	
	RetryingTransactionHelper.doInTransaction(RetryingTransactionCallback<R>, boolean, boolean) line: 327	
	RetryingTransactionHelper.doInTransaction(RetryingTransactionCallback<R>, boolean) line: 253	
	AbstractContentAccessor$CallbackFileChannel.fireChannelClosed() line: 369	
	AbstractContentAccessor$CallbackFileChannel.implCloseChannel() line: 338	
	AbstractContentAccessor$CallbackFileChannel(AbstractInterruptibleChannel).close() line: 97	
	Channels$1.close() line: 138	
	BufferedOutputStream(FilterOutputStream).close() line: 143	
	FileCopyUtils.copy(InputStream, OutputStream) line: 132	
	FileContentWriter(AbstractContentWriter).putContent(File) line: 440	
	CheckinCheckoutDialog$2.execute() line: 588	
	RetryingTransactionHelper.doInTransaction(RetryingTransactionCallback<R>, boolean, boolean) line: 327	
	RetryingTransactionHelper.doInTransaction(RetryingTransactionCallback<R>) line: 234	
	UploadNewVersionDialog(CheckinCheckoutDialog).updateFileOK(FacesContext, String) line: 592	
	UploadNewVersionDialog.finishImpl(FacesContext, String) line: 78	
	BaseDialogBean$1.execute() line: 124	
	BaseDialogBean$1.execute() line: 121	
	RetryingTransactionHelper.doInTransaction(RetryingTransactionCallback<R>, boolean, boolean) line: 327	
	UploadNewVersionDialog(BaseDialogBean).finish() line: 130	
	DialogManager.finish() line: 534	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 585	
	MethodBindingImpl.invoke(FacesContext, Object[]) line: 132	
	ActionListenerImpl.processAction(ActionEvent) line: 61	
	HtmlCommandButton(UICommand).broadcast(FacesEvent) line: 109	
	UIViewRoot._broadcastForPhase(PhaseId) line: 97	
	UIViewRoot.processApplication(FacesContext) line: 171	
	InvokeApplicationExecutor.execute(FacesContext) line: 32	
	LifecycleImpl.executePhase(FacesContext, PhaseExecutor, PhaseListenerManager) line: 95	
	LifecycleImpl.execute(FacesContext) line: 70	
	FacesServlet.service(ServletRequest, ServletResponse) line: 139	
	ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 290	
	ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206	
	AuthenticationFilter.doFilter(ServletContext, ServletRequest, ServletResponse, FilterChain) line: 110	
	GeneratedMethodAccessor459.invoke(Object, Object[]) line: not available	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 585	
	ChainingSubsystemProxyFactory$1.invoke(MethodInvocation) line: 122	
	ReflectiveMethodInvocation.proceed() line: 171	
	JdkDynamicAopProxy.invoke(Object, Method, Object[]) line: 204	
	$Proxy188.doFilter(ServletContext, ServletRequest, ServletResponse, FilterChain) line: not available	
	BeanProxyFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 88	
	ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235	
	ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206	
	NullFilter.doFilter(ServletContext, ServletRequest, ServletResponse, FilterChain) line: 74	
	GeneratedMethodAccessor459.invoke(Object, Object[]) line: not available	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 585	
	ChainingSubsystemProxyFactory$1.invoke(MethodInvocation) line: 122	
	ReflectiveMethodInvocation.proceed() line: 171	
	JdkDynamicAopProxy.invoke(Object, Method, Object[]) line: 204	
	$Proxy188.doFilter(ServletContext, ServletRequest, ServletResponse, FilterChain) line: not available	
	BeanProxyFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 88	
	ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235	
	ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206	
	StandardWrapperValve.invoke(Request, Response) line: 233	
	StandardContextValve.invoke(Request, Response) line: 191	
	StandardHostValve.invoke(Request, Response) line: 128	
	ErrorReportValve.invoke(Request, Response) line: 102	
	StandardEngineValve.invoke(Request, Response) line: 109	
	CoyoteAdapter.service(Request, Response) line: 293	
	Http11Processor.process(Socket) line: 849	
	Http11Protocol$Http11ConnectionHandler.process(Socket) line: 583	
	JIoEndpoint$Worker.run() line: 454	
	Thread.run() line: 595	
Re: Step filters are not applied to call stack [message #514299 is a reply to message #514257] Sat, 13 February 2010 20:37 Go to previous messageGo to next message
David M. Karr is currently offline David M. Karr
Messages: 354
Registered: July 2009
Senior Member
It's a "step" filter, not a "callstack" filter. If you try to "step into" a class that's in your step filters list, it will either do a "step over", or if that method call calls other classes that are not on the step filter, it will be like you did a "step into" the class that was not on the step filter.

The "step" filter has no effect on the callstack.
Re: Step filters are not applied to call stack [message #514300 is a reply to message #514299] Sat, 13 February 2010 20:42 Go to previous messageGo to next message
Sarge  is currently offline Sarge
Messages: 2
Registered: February 2010
Junior Member
Ok, so it "functions as designed".

Is there some way to filter callstack in the way I described ?
Re: Step filters are not applied to call stack [message #653900 is a reply to message #514300] Fri, 11 February 2011 18:28 Go to previous messageGo to next message
No real name is currently offline No real name
Messages: 1
Registered: February 2011
Junior Member
I've patched the org.eclipse.jdt.debug.ui to filter out the unwanted stack frames. If anyone wants the patched version, please leave me a note Wink

Cheers
Dieter (from Intersult)
Re: Step filters are not applied to call stack [message #653906 is a reply to message #653900] Fri, 11 February 2011 18:57 Go to previous message
Deepak Azad is currently offline Deepak Azad
Messages: 545
Registered: July 2009
Senior Member
On 2/11/2011 11:58 PM, tires@gmx.de wrote:
> I've patched the org.eclipse.jdt.debug.ui to filter out the unwanted
> stack frames. If anyone wants the patched version, please leave me a
> note ;)
>
> Cheers
> Dieter (from Intersult)
Why don't you open a bug against JDT/Debug and provide a patch so that
the feature can make it into the Eclipse SDK ?
Previous Topic:Running JUnit headless
Next Topic:Parameter Question Want to set a Parameter to a String Variable
Goto Forum:
  


Current Time: Thu Oct 23 00:51:16 GMT 2014

Powered by FUDForum. Page generated in 0.06800 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software