Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

DLL and PDB linking problem ''kernel32.dll Export loaded'' ''Symbols loaded''

25 views
Skip to first unread message

JIE SHI

unread,
Oct 13, 2015, 9:47:41 AM10/13/15
to


Dear all,

I am new to C++ environment, I found it is very different from FORTRAN which I am familiar. When I compile the source code of a model, there is the following messages.


'VS2010.exe': Loaded 'C:\VS2010\Debug\VS2010.exe', Symbols loaded.
'VS2010.exe': Loaded 'C:\Windows\System32\ntdll.dll', Exports loaded.
'VS2010.exe': Loaded 'C:\Windows\System32\kernel32.dll', Exports loaded.
'VS2010.exe': Loaded 'C:\Windows\System32\KernelBase.dll', Exports loaded.
'VS2010.exe': Loaded 'C:\Windows\System32\msvcr100d.dll', Symbols loaded.
'VS2010.exe': Loaded 'C:\Windows\System32\msvcp100d.dll', Symbols loaded.
The program '[5668] CAS HYDRO VS2010.exe: Native' has exited with code 1 (0x1).


Followed some suggestion, I installed the Microsoft Symbol Package to solve the problem. I the one I use is Windows 7 Service Package 1, but with no luck, the error still there. Any suggestion?


Jie Shi
-------
Cardiff University, UK
Research Assistant

Victor Bazarov

unread,
Oct 13, 2015, 10:02:18 AM10/13/15
to
The fact that your exe exits "with code 1" most likely has nothing to do
with loading of the symbols (or exports). The messages come from the
debugger. Exiting with code 1 can indicate an error or it can be
normal. You need to debug your executable. Disregard those messages
about the symbol loading for the time being.

V
--
I do not respond to top-posted replies, please don't ask

Christopher Pisz

unread,
Oct 13, 2015, 11:21:13 AM10/13/15
to
Debug it. I don't see anything wrong there. The program loads, runs, and
exits with a return of 1. If you'd like to see why it is exiting with a
return of 1, you have to step through it.

Here's a bit about how to use your debugger:
https://msdn.microsoft.com/en-us/library/y740d9d3.aspx



--
I have chosen to troll filter/ignore all subthreads containing the
words: "Rick C. Hodgins", "Flibble", and "Islam"
So, I won't be able to see or respond to any such messages
---

Jorgen Grahn

unread,
Oct 13, 2015, 12:16:06 PM10/13/15
to
On Tue, 2015-10-13, Christopher Pisz wrote:
> On 10/13/2015 8:47 AM, JIE SHI wrote:
>>
>>
>> Dear all,
>>
>> I am new to C++ environment, I found it is very different from
>> FORTRAN which I am familiar. When I compile the source code of a
>> model, there is the following messages.
...
>> The program '[5668] CAS HYDRO VS2010.exe: Native' has exited with code 1 (0x1).
>>
>> Followed some suggestion, I installed the Microsoft Symbol Package
>> to solve the problem. I the one I use is Windows 7 Service Package
>> 1, but with no luck, the error still there. Any suggestion?

> Debug it. I don't see anything wrong there. The program loads, runs, and
> exits with a return of 1. If you'd like to see why it is exiting with a
> return of 1, you have to step through it.

Or just read the code. If an 'exit(1)' is executed or main() has a
'return 1', that's the behavior the author will see.

BTW, I suspect /that/ aspect isn't different between C++ and FORTRAN.
There's no C++ content in the questions above; just messages from
Visual Studio and a Windows program returning an exit code of 1.

/Jorgen

--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .

Paavo Helde

unread,
Oct 13, 2015, 12:40:00 PM10/13/15
to
JIE SHI <jies...@gmail.com> wrote in
news:7accec52-d5cc-45cc...@googlegroups.com:
There is no error visible here.

It might be possible that you have confused the Visual Studio debug
output window with the console output window of your program. (Hint: to
see the console output start your program without debugger (Ctrl+F5) or
put a breakpoint near the end of main()).

hth
Paavo

Geoff

unread,
Oct 13, 2015, 7:00:26 PM10/13/15
to
There is no error here, except as others have mentioned the non-zero
return value from your program which would imply there is at least one
exit(1); call in your project or a return 1; statement in the "main"
function. C and C++ programs generally return 0 on success and
non-zero for some failure.

The output above is from the Visual Studio IDE "Output" window that is
filled in by the debugger as it starts up and runs your program. All
the DLLs are listed as they are loaded in support of your program.
There is generally no important information in the debug output window
unless you use functions like OutputDebugString() to print information
to it.

The [5668] is the process ID (PID) of your program for that session.
The PID will change every time your program is executed. CAS HYDRO
seems to be the program name but the last line seems a little odd to
me as it's not what I usually see. Sample below:

[many dll loads snipped]
The program '[4320] sigsegv.exe: Native' has exited with code 0 (0x0).

I seldom need support DLL symbols nor do I debug into the library DLLs
so I don't load their symbols anymore.

Paavo's suggestion of ctrl-F5 to run your program in a console window
detached from the debugger is an excellent one for console mode
programs with erroneous behaviors or unexpected terminations.

Otherwise, to track down your error return, set breakpoints at all
exit(1) or return 1; statements and run with debugger using F5 to see
where your program is terminating.

seeplus

unread,
Oct 13, 2015, 8:32:03 PM10/13/15
to
On Wednesday, October 14, 2015 at 12:47:41 AM UTC+11, JIE SHI wrote:
> Dear all,
>
> The program '[5668] CAS HYDRO VS2010.exe: Native' has exited with code 1 (0x1).
>

For a small C++ console program this usually indicates that the program has done it's stuff but disappeared off the screen before you could see it, and you just need to put a cin >> at the exit point to stop execution there so you can view what happened.

However CAS-HYDRO appears to be a program to check water quality and the
affect /cough/ of climate change, and it would appear that a "model" would be
VERY large and complex as it seems to produce graphs etc, so would likely
need various dependencies or .dlls you might not have included.

However these should get picked up by the compiler.
Is there any help from the source code supplier?

You need to use a debugger, or insert messages in your code "#have reached this
point X".
0 new messages