Log Output Sometimes Shows ??? When Logging CreateFileA #3454
Replies: 2 comments 1 reply
-
Try |
Beta Was this translation helpful? Give feedback.
0 replies
-
Thanks for the help. Upgrading to the latest version didn't have any impact. However, changing to {utf8@xxx} resolved the issue. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
In an application I'm debugging with x32dbg 've created the following breakpoint:
Log Text: 00688D18 CreateFileA({s:arg.get(-1)})
Command Text: go
When I run the program, the above command usually outputs the filename for {s:arg.get(-1)}, however it sometimes logs ???.
For example:
Sometimes the log is like this:
00688D18 CreateFileA("assets\art\interface\classical main menu\civ4mainmenubg.nif")
Sometimes it's lilke this:
00688D18 CreateFileA(???)
I removed the Command Text: go to see what's going on and what I found is that when ??? appears, the debugger isn't fully up-to-date with display of parameters. For example, register values such as EAX are blank, the stack display is blank, and so on. If I wait about 2 or 3 seconds, eventually the debugger catches up and EAX is displayed, the stack is displayed, and at that point the filename argument to CreateFileA appears on the stack.
I'm guessing that the "???" display means that the debugger hasn't had time yet to load the s:arg.get(-1)}) and so "???" is displayed instead.
Question:
Is there any way to force the debugger to wait until it knows what's on the stack before skipping past the breakpoint so that logging displays the name of the file instead of "???"?
Thanks in advance.
Beta Was this translation helpful? Give feedback.
All reactions