1 you should not debug the running application in production, at least not when there are active users online. every time you start the debugger you will restart the application which will cause an exception message to every user which is currently loading a page
I would NOT recommend remote debugging the production site, I'd rather you backed up the databases and restored them to your local machine and set up the site on your own machine and reproduced the bugs locally and debugged there. If the client has sensitive data they don't want you to see then get them to anonymize the data before setting up your DB, 99% of all bugs can be reproduced locally which is a LOT easier to work with. (if you were to deploy a fix directly to production which had a bug in it, very likely if you cannot run it locally, then all hell would probably break loose)
2) it depends, if the application has been coded with good logging setup using for example using Log4Net you can read a good deal out of the log file, just be sure to check the logging level configured. If no logging has been coded then nothing will be written to the application log file.
3) yes, you can xcopy the dlls directly to the production server (you probably want to deploy the .aspx and .ascx files at the same time if there are any changes in those). (there are tools to help you with this, I just can't recall the names at the moment) NB! when you do this the website will reset itself causing errors to any active users, so this should not be done when there are active users online.
I would recommend you reading up on how asp.net works from http://www.asp.net before you go ahead and take over responsibility for a running production site, there are a lot of pitfalls for someone not familiar with the framework, not to mention not familiar with the application code on your particular site.