In general, I follow these steps:
1) Compile webpart in debug mode
2) Build a CAB file from the project output
3) Use STSADM -o addwppack command to install the webpart
4) Copy the webpart's .dll and pdb. files from the project's bin folder to the
c:\inetpub\wwwroot\bin folder (if your root is at the default location)
5) In VS.Net, attach to the w3wp.exe process in using the Debug/Processes menu
option
6) Go to a page with the webpart installed, when the page loads (or refreshes)
your first breakpoint in the VS project will trap execution, and you can debug
as normal
I have noticed occasional odd behavior, but this generally works well.