• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
RogerThat123

Debug Mode vs Release Mode C++

8 posts in this topic

Hello all. I have an application that I made that I compile in debug mode for myself. It is written on visual studio 2008 pro, and when I run it it works perfectly! This debug version though on other pc's doesnt work (on the odd one it will). Maybe you need visual studio 2008 installed or something. I tried installing the visual studio 2008 runtimes and redistributable package on my other pc's too. This fixed a couple but most did not work. So I then compiled in release mode.. But the problem is that Release mode crashes randomly! I have no clue why.. It crashes on every computer... But on startup it launches fine on every computer. Its just when you begin to use it it crashes. But like I said the debug version works perfect for my pc, and on most others it doesn't work at all. Im stuck..
0

Share this post


Link to post
Share on other sites
The debug build uses a different set of runtimes that are only installed on developer machines, and include a lot of extra checks and debugging help. The correct thing to do is to find out why your Release build crashes. Those builds ARE debuggable you know. Figure out where it crashes and work from there.
0

Share this post


Link to post
Share on other sites
I did click debug but it didnt show me in my compiler where it was crashing...

all that the windows debug information when it crashes says

Exception Code: c0000005
Exception Offset: 00000000

That offset isnt really helpful
0

Share this post


Link to post
Share on other sites
Yea, you probably forgot to initialize some pointers or variables, wich the debug version do for you i think but not in release. Always initialize everything you create.
0

Share this post


Link to post
Share on other sites
Quote:

all that the windows debug information when it crashes says

Just like a crash in debug, a crash in release should still let you bring up the debugger and see exactly1 what line the crash occured on.
As stated above, you are doing "foo->bar" where foo is NULL. Uninitialized variable, or array bounds overstepping is likely the cause.


1 Ok. maybe not exact in release mode. But it should be really close. Optimizations keep the debugger from being able to match everything up perfectly.
0

Share this post


Link to post
Share on other sites
Not in Visual Studio, at least not with the default options. It usually just breaks into assembly code somewhere.

As others have said, Debug apps will generally be more forgiving, since they're intended to be used while you're still working on your program, whereas release is the final, faster, smaller build. Usually Release builds aren't built with debug info(or alot less) to make them more efficient.

For your problem, it sounds like you're going to have to do some good ol' fashion testing and debugging. Find out where you are crashing or what steps to take to make it crash on release, then reproduce in the debug build and find the problem.

If it's not crashing in a debug build, you might trying changing your compile settings and see if you can't get a more Release-type build with some debug info to help you narrow it down.
0

Share this post


Link to post
Share on other sites
Check your build settings for release to make sure it'd creating debug symbols. I believe the default project settings in VS2008 should be creating a pdb containing the debug symbols.

If the crash is in assembly code, try walking your way up the callstack, as it's quite likely you passed a null pointer to some api function that doesn't include any symbols.
0

Share this post


Link to post
Share on other sites
Quote:
Original post by NinjaMonkeyPirate
Not in Visual Studio, at least not with the default options. It usually just breaks into assembly code somewhere.


In my experience, while the immediate crash location in Release builds is often in some location only known as assembly, it pays to take a look at the call stack and jump to the nearest non-assembly location in your own code. Even if the first couple of call stack level are deep down in some Windows DLLs and there is a "may be inaccurate" warning I often enough get a very reasonable idea of where something is going wrong.
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0