The debugger crashed into a throw, but you do not show the topmost function in the freeze frame, which actually raises an exception.
What you are showing is a function down the stack. And this shows that when the function that is currently being called returns the next line to be executed, it is the socket(...) . This is why the icon on this line is the green "return" icon, and not the yellow "Currently running here" icon.
Right-click on the stop-bone, click "show external code", and you will see something like:
KernelBase.dll!RaiseException(unsigned long dwExceptionCode, unsigned long dwExceptionFlags, unsigned long nNumberOfArguments, const unsigned long * lpArguments) Line 904 C vcruntime140d.dll!_CxxThrowException(void * pExceptionObject, const _s__ThrowInfo * pThrowInfo) Line 136 C++ ConsoleApplication5.exe!main() Line 6 C++ ConsoleApplication5.exe!invoke_main() Line 64 C++
Note that its KernelBase.dll!RaiseException where the exception is actually thrown.
Yes, I can agree that this is not very similar to C ++, but throwing exceptions is a mechanism that requires complex code, and therefore it happens.
source share