Documentation or Tutorial?

Coming from someone who's used VS (and it's debugger), I'm struggling a bit with getting this to work. I've set the command and working directory, then opened a source file and set a break point. When I do "Start Debugging" it just launches my application, but doesn't hit any of the break points. Am I missing something here?

Edited by GunnGames on Reason: Initial post
What happens if you step into the application with F10? If it does not load a source file, It probably failed to load the symbols.
You can check which symbols are loaded under the "modules" tab.
Recyrillic
What happens if you step into the application with F10? If it does not load a source file, It probably failed to load the symbols.
You can check which symbols are loaded under the "modules" tab.


Just stepping in with F10 I guess it launches it then I get [SUSPENDED] Program stopped at entry point. So It seems to be working fine, but how do I get to to break where I want it to with a break point?
What you are doing _should_ work, that's why I was asking you to make sure that the symbols (i.e the pdb) are loaded.
If you have moved the pdb around since compilation, that could be the problem.
If you F10 it should break at "main" and open your code.
If it breaks at the entry point, it is probably because it doesn't have symbols and doesn't know what main is.
Recyrillic
What you are doing _should_ work, that's why I was asking you to make sure that the symbols (i.e the pdb) are loaded.
If you have moved the pdb around since compilation, that could be the problem.
If you F10 it should break at "main" and open your code.
If it breaks at the entry point, it is probably because it doesn't have symbols and doesn't know what main is.


Well I'm not sure what else to try at this point. It deff does not show any of the code. The Command and Working Directory are the same, as that's where the .exe and the .pdb are stored. The "Output" window even shows a warning from DirectX11 (which is fine), so that tells me it's able to see past main (WinMain).

Edited by GunnGames on
GunnGames

Well I'm not sure what else to try at this point. It deff does not show any of the code. The Command and Working Directory are the same, as that's where the .exe and the .pdb are stored. The "Output" window even shows a warning from DirectX11 (which is fine), so that tells me it's able to see past main (WinMain).


If you built the project with Visual Studio in VS2017 or later then the default is to do "fast-link" which leaves symbol information in obj/lib files: "...with /debug:fastlink the linker-produced PDB doesn’t have any private symbol information. Debug information is distributed among input object and library files, and the linker PDB just serves as an indexing database." This is not something that Remedy currently supports. If that is on, try disabling that option (/debug:fastlink). If that isn't the problem, let me know and we can dig further.

Thanks.
x13pixels
GunnGames

Well I'm not sure what else to try at this point. It deff does not show any of the code. The Command and Working Directory are the same, as that's where the .exe and the .pdb are stored. The "Output" window even shows a warning from DirectX11 (which is fine), so that tells me it's able to see past main (WinMain).


If you built the project with Visual Studio in VS2017 or later then the default is to do "fast-link" which leaves symbol information in obj/lib files: "...with /debug:fastlink the linker-produced PDB doesn’t have any private symbol information. Debug information is distributed among input object and library files, and the linker PDB just serves as an indexing database." This is not something that Remedy currently supports. If that is on, try disabling that option (/debug:fastlink). If that isn't the problem, let me know and we can dig further.

Thanks.


It does not appear that fastlink is enabled. In VS under linker->debugging->Generate Debug Info, only /DEBUG is selected, not /DEBUG:FASTLINK

I feel like I'm just using this debugger wrong.

Edited by GunnGames on
Can you send me the command line (compile and link) you use to build your executable? You can grab it from the build properties if you are using Visual Studio. I typically use /Z7 to build: 'cl /Z7 main.c', for instance. Certainly sounds like there is some room for improvement w.r.t. usability for projects generated by Visual Studio, though.

I'll be on the Handmade Discord today if you want to stop by and will be happy to help you out.
x13pixels
Can you send me the command line (compile and link) you use to build your executable? You can grab it from the build properties if you are using Visual Studio. I typically use /Z7 to build: 'cl /Z7 main.c', for instance. Certainly sounds like there is some room for improvement w.r.t. usability for projects generated by Visual Studio, though.

I'll be on the Handmade Discord today if you want to stop by and will be happy to help you out.


I fixed the issue by changing the debug options to DEBUG:FULL. I think you or someone else suggested I turn off DEBUG:FASTLINK, but that did not fix the issue. But setting it to DEBUG:FULL under Linker->Debugging will fix it though! :)

Edited by GunnGames on
Ah, okay. Thanks for finding that and for letting me know!
I also purchased this debugging to try it out (thanks Murati) and would like some very basic pdf documentation how to get started.
Or perhaps some quick getting started video?

Where can we select a particular thread to see its callstack ? (aside from main thread)
Can we get a list of files of the project, so we easily open them? (similar to the Visual Studio solution explorer)

Edited by erwin coumans on
Eventually it suprised me how easy it was to get it working. But yeah it can be a bit daunting at first.