can you explain w3wp ,,attaching to w3wp while debugging asp.net internal layers is good
Erm, what? :-) w3wp is just the worker process for an application pool in IIS. Every app pool has one or more worker processes so a failure in a single application pool doesn't kill the whole server (assuming you've used different app pools for each app :-))
What else is there to know? :-)
W3wp.exe is the "World Wide Web Worker process". I don't see any reason or benefit to attach to it because it will not enable you to debug your ASP.NET application.
If you intend to debug ASP.NET applications, you should be attaching to the aspnet_wp.exe
process (which is what Visual Studio does when you press Debug).
To attach a debugger set a break point in code that you know will be run (make sure that Debug="True" so that debug symbols are created) and in Visual Studio go Debug -> Attach to Process -> find your site's app pool's w3wp process. If you have several application pools active then w3wp will be listed more than once.
To step into your DAL you will need that compiled with debug symbols as well.