I have a process that changes its current directory, and I would like to know when and where it happens. How could I do that?
I tried setting a breakpoint in SetCurrentDirectoryA/SetCurrentDirectoryW with Visual Studio, but it does not work.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Are you debugging one of your own programs, or one that you don’t have the source code for? The Visual Studio debugger isn’t very friendly with regards to debugging no-source applications; in that case, I would recommend WinDbg or OllyDbg – or even skipping the debugger and write an instrumented logger using EasyHook.
EDIT:
Try setting a breakpoint at
{,,kernel32.dll}_SetCurrentDirectoryA@4– peculiar syntax and requires decorated names. Haven’t tried it myself, but found it here. Google keywords: “visual studio breakpoint api” 🙂