Debug vs out - why should I use one over the other

Hi all

I have always understood that in the preparation for the final release software and delivery that this should be done using the Release configuration. It's the way that other companies offer their software, so it just makes intuitive sense to me. However, I recently came across a project developed and published all of their modules in software using the build configuration Debug, and reasoning that gave me was that it makes debugging easier when troubleshooting problems after release. Now we intend to use this software for a new project, and I don't know that I am ready to support this reasoning. Beyond reason "because I said!", there are several reasons why I think this isn't a good idea:

1. it is slower to run debugging code. but for what we use for (drivers and utilities for the most part) it is negligible.

2. There is a potential for malfunctions due to debug code that results in errors or be out of date.

3. There could be differences between the debug and release configurations (no not the least of which is the use of the _CVI_DEBUG_ macro to include the additional debugging code).

4 if I remember correctly, to debug properly, the source code must also be available; and for me, this is a big fat no-no giant for a production environment.

So, beyond reasons I quoted above, and assuming that they are all valid, can anyone provide additional reasons for or against this practice? Any comments would be extremely helpful! Thank you!

-Jack

Hello Jack,.

It is indeed surprising that the company has decided to ship built in the debug configuration.

Here are some more reasons other debug versions offering isn't a good practice:

  1. The Debug versions are slower due to lack of optimizations.

    1. The compiler tends to optimize the code in release builds, to make it more faster and perform better on specific platforms (it can also slightly obfuscate the code).
    2. The useless instructions or data are deleted in release builds.
  2. Less memory is used by the source code when running in release builds.
  3. The Debug versions may contain debug information stored in the executable/binary file itself. This debugging information is stores the data on the source code, the names of variables and others. This allows not only the code to run more slowly, but it also exposes internal information (this can probably still provide proprietary information to your users).
  4. Debug builds usually initialize variables and data with 0. This means that programmatic errors are usually hidden by the present.
  5. Debug builds are usually (much) bigger than the trade and slower versions.

There are other alternatives to shipped debugging binary and perform diagnostics on them:

  1. Newspapers: The embedded application can produce newspapers in the special files/folders or the Windows event log. You can also ask your customers to allow facilities to record special in your application, if the problem can be reproduced consistently and provide the log output for you, for further analysis.
  2. Dumps can be analyzed using the same map files for release builds. Crash address usually refers to a location near a function entry point, you can track your mapping files. When you build your binary files in release configuration, the compiler can also generate the map files that you need.

In addition, as ebalci said, you must make sure that test you your Release version carefully, before shipping.

Kind regards

-Johannes

Tags: NI Software

Similar Questions

  • RDP vs PCOIP. When to use one over the other?

    I think we'll run into problems of latency coming on WAN. That being said, I have heard PCOIP performance is not good over the WAN?  Why is better RDP over a WAN link?

    The answer to that is a bit tricky...

    The quick answer is that PCoIP is a hitter more than RDP, due to improvements in PCoIP to improve multimedia performance (and unfortunately), but takes a little more bandwidth than an equivalent RDP connection.

    That being said, PCoIP remains most likely your best choice unless you have a real bandwidth restriction. In addition, some devices will NOT connect via PCoIP and will not allow a RDP connection (the client in order for the iPad comes to mind). However, there are exceptions, even to - Wyse allowing an iDevice to client that will connect to view using RDP if you want - but it's not free.

    I've set up several clients with external access using PCoIP and personally, I have not had any problems - PCoIP is good enough, adjusting it according to the available bandwidth, but you will not really know until you try.

    The good news is that it is very easy to change the settings of PCoIP/RDP - the console administrator display, you can specify the Protocol by default and even decide if the users can change it or not. Also the clients, you can allow to change between RDP and PCoIP if they experience performance problems.

    So my final answer is just give it a try and adjust if necessary.

  • whenever I tried to open a program, a window opens asking me programs that should be used to open the other program

    I was remove some unnecessary programs and sudennly the computer ask me which program to use to open the other program. I turned off the computer and then I used safe mode to see if I could restore my computer to a quick setup. but the very thing. I don't know if I erased by mistake som program. This never happened to me before. I use windows XP. I use internet explore to open a program and send me just for internet explorer, but not programs to opt I want you use. Any help o help to solve this problem? I'll apreciate any help thanks.

    Hello

    I suggest you to related changes by default by using Set Program Access and computer defaults:

    Method 1:

    How to change your default programs and enable or remove access to Microsoft Windows programs and non-Microsoft: http://support.microsoft.com/kb/332003

    Method 2:

    How to change or choose the program that starts when you double-click a file in Windows XP.

    http://support.Microsoft.com/kb/307859

    Method 3: If the problem persists, then try to create a new user account and check if it helps.

    How to create and configure user accounts in Windows XP

    http://support.Microsoft.com/kb/279783

    Hope this information is useful.

  • Help! I tried to connect to my account of Cloud to work in after effects to another computer to adobe. My payment plan appears as the "free plan" so I can't use one of the applications now. I give the whole pack every month so I don't understand why that'

    Help! I tried to connect to my account of Cloud to work in after effects to another computer to adobe. My payment plan appears as the "free plan" so I can't use one of the applications now. I give the whole pack every month, so I don't understand why this is happening. I really need to work now and I can't. Great work Adobe Cloud. Any suggestions on what can I do? Thank you

    Check that your current account (and only the adobe, used in the next step id is good) by logging in here and check the status of your subscription, https://www.adobe.com/account.html

    then, if it's current, disconnect and then back to your client application using the adobe with the link above in cc id: http://helpx.adobe.com/creative-cloud/kb/sign-in-out-creative-cloud-desktop-app.html

  • This device cannot find enough free resources that it can use. If you want to use this device, you will need to disable one of the other devices on this system (Code 12)

    Guys, I have a problem. So, my laptop has 2 graphics cards, an integrated course of the Intel HD graphics (which works perfectly) and the other being the dedicated Nvidia graphics (Nvidia GeForce 940 m). Until 2 days ago, everything was going well and running.

    I have the application experience GeForce and it prompted me that there is a new driver update should I download. He started to install then after rebooting to complete the installation, it failed. I checked my device manager and saw a yellow exclamation under under my Nvidia graphics card (remember, my laptop has two graphics cards: Nvidia graphics card and Intel HD graphics that works correctly). I immediately checked the details, and he said:

    "This device cannot find enough free resources that it can use. (Code 12) »

    "If you want to use this device, you will need to disable one of the other devices on this system."

    This seemed very strange, because it was LITERALLY working properly before I was invited about update driver I got, so I don't know what to do - as a matter of fact, literally, I finished this game, Deadpool, with my Nvidia card that I put as the default graphics card, a few hours before , so I don't know why this happened. Any help? I'm looking for a logical answer to this, guys!

    Additional information:

    A few days before this happened, I went to my store local pc and installed an extra 4 gigs of ram on my 4 existing to make 8. Don't know if it's useful, but anyway

    If I pick up my laptop and shake it side by side, I hear a slight rattling noise, and it seems a little loose (I found this out after seeing the error message). The noise seems to come from just below the middle of my keyboard (I'm using a laptop). If for some reason, my Nvidia card is loose? Is this possible?

    I am quite technologically inclined, but not to the extent of removing components and reconstruction cell phones / pc and access the bios and what not. I can only remove/add ram.

    I want to know if its something I am able to fix it because I do not necessarily want to go running and sending my laptop places - only my pc up shop.

    Here is the location of my Nvidia card: PCI Slot 4 (PCI bus 4, device 0, function 0)

    My specs:

    Acer TravelMate p257-MG

    Windows 7 business

    Intel core i5-5200u 2.20 GHz 2.20 Ghz processor

    8.00 GB of ram

    64-bit operating system

    1 t hard drive

    940 m Intel HD graphics 5500 & Nvidia Geforce card

    Just to recap, I get the error on my Nvidia graphics card code, "this device cannot find enough free resources that it can use. (Code 12) ""If you want to use this device, you will need to disable one of the other devices on this system. »

    Thanks in advance!

    Hello

    Thank you for your response.

    I appreciate your time.

    I suggest you run ' Intel Chipset Software Installation Utility ' and check.
    Reference:
    http://www.Intel.com/content/www/us/en/support/software/Chipset-Software/Intel-chipset-software-installation-utility.html

    Please keep us updated.

    Thank you

  • Why should I pay $ 28 on the App Store for Pages on my old MacBook Pro when I have it for free on my new MacBook Pro on my iPad on my iPhone?

    Why should I pay $ 28 on the App Store for Pages on my old MacBook Pro when I have it for free on my new MacBook Pro on my iPad on my iPhone?

    And I could ask the same question for the calculator on the iPad?

    Something I don't understand here...

    Nice day!

    Yanick

    If you have used any other processor of professional quality (for example, Microsoft Word), and then just go ahead and use the current culture of free (financially) applications on devices you mention. It will not take too long before you understand point Apple of giving them. No application in the world can open documents Pages but the most recent version.

    Free will begin to erode when Pages for Mac forget how to open a perfectly fine document that you saved an hour or two ago. Or you realize you have to press the SHIFT key every time you want a first word in a sentence. Or you can not bind the text boxes to the text layout advanced stream. Or you can't do data merge / e-mail. Table of contents page links or comments will not export to PDF.

    Pages is not a clone of Word, and you'll quickly realize that Pages input/export deal with the translation. Open a blank document. Type the letter "A". Export to Word .docx. It will be 494KO in size. Do the same thing in LibreOffice or MS Word and it will be 8 KB.

  • Why is my media player of securities randomly suddenly played on every album & not as shown, one after the other?

    All of a sudden my Windows Media Player (11) started playing the songs on each album random & not one after the other in chronological order, any ideas anyone please?

    Hello

    To better understand the issue, please let me know if you have made recent changes made on the computer before this problem?

    This problem may occur if the Windows Media Player settings are incorrect.

    Method 1:
    Let's first run the fixit and check if it helps.

    Solve the problems of Windows Media Player video and other media or library
    http://support.Microsoft.com/mats/windows_media_player_diagnostic

    Method 2:
    If the problem persists, I suggest you organize your digital media collection
    and check if it helps.

    Organize and search your digital media collection
    http://Windows.Microsoft.com/en-us/Windows-XP/help/Windows-Media-Player/11/library

    Check out the link for more information.

    Create and use your own customized reading lists
    http://Windows.Microsoft.com/en-us/Windows-XP/help/Windows-Media-Player/11/playlists

    Hope this information helps. Answer the post with an up-to-date issue report to help you further.

  • After subscription and downloading and installing Acrobat DC, I can open it, but when I try to use one of the tools, I get the message that my trial has expired

    After subscription and downloading and installing Acrobat DC, I can open it, but when I try to use one of the tools, I get the message that my trial has expired.

    Can someone help me?

    Hello

    It is a problem of Activation, please follow the instructions at the link below, it should help solve the problem:

    Connect and disconnect activate Cloud Creative applications

    Applications creative Cloud back in test mode after an update until 2015 for CC

    Let us know if that helps.

    Kind regards

    Bani

  • Hi, while writing an email online using Firefox 3.6.3, I was using one of the "CTRL + left arrow or right" to move the cursor on the text. I must have pressed some other key because the screen has become huge - and I can't scroll vertically or horizont

    Hi, while writing an email online using Firefox 3.6.3, I was using one of the "CTRL + left arrow or right" to move the cursor on the text. I must have pressed some other key because the screen has become huge - and I can't scroll vertically or horizontally, which makes the pages of Mail of Hotmail impossible. I have connected since using the Explorer MSFT and it works very well. This problem occurs only on the page of Mail of Hotmail Live not on the home page or other.
    Could you please let me know if there is a problem with Firefox, or if you have any advice on how to restore the appearance of Hotmail in Firefox?

    This has happened

    Just once or twice

    == I'm compiling an email in Hotmail Live

    See this:
    https://support.Mozilla.com/en-us/KB/page+zoom

  • I use CC as a teacher. Installed on 2 computers and use only 1 time. Is it possible to install CC and a third machine and disable one of the other? Mario Dirkx

    So, I would like to install CC on a third machine and disable one of the other! Is this possible?

    Mario Dirkx

    Yes.  You can install it on as many machines as you want and then control which two are active by signing in/out according to the needs.

  • If you have CC on two different computers and you forget to sign out how do you use CC on the second computer?

    If you have CC installed on two different computers and you forget to sign out how do you use CC on the second computer?

    Please see this link for more information on the installation of creative cloud on multiple computers:

    FAQ: Can I install Creative Cloud on several computers?

  • can perform us two actions with a single button in two clicks, one after the other?

    Mr President.

    can perform us two actions with a single button in two clicks, one after the other?

    I want that when I click on the button Add once it add data to the database and when I click again on this button it clears the form data to the empty fields.

    Concerning

    Tanvir

    In the code, it should be easy.

    The following code adds that a button called butman with text 'ADD '.
    It then registers a listener that will be called if the user clicks the button.

    This listener then calls the runAddData method if you clicked butman while it contained the text of "ADD" and it calls the runClearData method otherwise.
    That's why he will swap the functionality of the button between ADD and CLEAR on each click.

    final Button butman = new Button("ADD");
    butman.setOnAction(new EventHandler() {
              @Override
              public void handle(ActionEvent t) {
                        if (butman.getText().equals("ADD")) {
                                  butman.setText("CLEAR");
                                  runAddData();
                        } else {
                                  butman.setText("ADD");
                                  runClearData();
                        } // END IF-THEN
              }});
    

    I hope that's what you wanted.

    Further reflection.
    You might want to run the ADD and CLEAR methods in their own son so that it can run in the background without slowing down your user interface.

    I also reuse rather a single button for several features instead of to apply with hundreds of nodes used only rarely with masses of code to show and hide as needed.

  • Play videos local one after the other

    Hi - I'm going to put in place 10 videos locally in Dreamweaver to play one after the other.  By local authorities, I say everything is on one computer and you just open the page HTML in Chrome and it works.  When the HTML opens in Chrome, I got the first video auto play and loops too.  But after the end of the #1 video, I have need for 2nd video to start, then third, and so on until the 10th is complete, then it goes back to #1 again.

    Is the code that I have on the local HTML page and it works for a video is:

    < video width = "720" height = "406" AutoPlay controls loop >

    < src = "source 1E.mp4" type = "video/mp4" > "

    < object data = "1E.mp4" width = "720" height = "406" > "

    < / object >

    < / video >

    .. .but I just can't figure out how to get the other 9 videos in there, so they play behind #1 loop and then back to #1 again.

    Does anyone have an idea how to do this?  Thank you.

    Video HTML5 can only play a single video.  It does not fit your goals.  That's why I suggested using your laptop Media Player by default since this will be the software that plays files.  If you do not have Windows Media Player to work, try something else like Media Player Classic (it's free, I use it all the time).

    Media Player Classic - Home Cinema Tutorial #3 - How to manage your playlists

    Nancy O.

  • FF jump between tabs if I have several open at the same time and it sometimes seems to be trying to load the same page one above the other

    When running FF for awhile, it starts to jump between different tabs I have open without clicking anything whatsoever. Also, it will sometimes appear that another copy of the same tab I have open try to open again at the top of page. The address bar that appears at the bottom of page loading will appear one above the other and the page will jump up and down about a 1/8th of an inch. Out of the enclosure, then by restarting FF does not solve the problem. I have to restart the computer and then restart FF for him to quit.

    I changed to Chrome and it doesn't, but I prefer the FF browser so I can get this fixed number.

    Start Firefox in Safe Mode to check if one of the extensions (Firefox/tools > Modules > Extensions) or if hardware acceleration is the cause of the problem (switch to the DEFAULT theme: Firefox/tools > Modules > appearance).

    • Do not click on the reset button on the start safe mode window or make changes.

    Try disabling hardware acceleration in Firefox.

    Create a new profile as a test to see if your profile is the source of the problems.

    See "create a profile":

    If the new profile works then you can transfer files from a profile in the new profile, but make sure not to copy corrupted files.

  • Apple TV 4 cannot be used simultaneously with the other Apple TV

    We have just added a 4 AppleTV to our collection of the 2nd and 3rd generation AppleTV (all run wifi that we're not wired Ethernet in the House). For the first week or so it was no problem to start the 4 AppleTV and one of the other two, but since yesterday on the AppleTV 2nd generation (just to set market and access to iTunes or my library, not really look anything like that) not only causes the AppleTV 4 deadly freeze, but I end up having to restart the modem and the router with the computer (note that) (, meanwhile, the AppleTV 2 seems to work but I get annoyed at to get the 4 works again and just had to turn off so I don't know how stable, it has been). I have a modem/router Netgear of Cox (even when the AppleTV 4 wasn't running, SpeedTest has returned a normal wifi speed) I only use as a modem and a Terminal Airport Express as my wifi router. My operating system in Windows 10. Nothing updated (other than the Synaptics touchpad software) between when he was working Friday and when he decided to stop playing at the same time on Saturday. Once the computer, the AppleTV 4, the router and the modem has restarted, I once more have access to my iTunes to the AppleTV library and play something.

    I still have intermittent problems where the AppleTV 2 and 3 suddenly decide that they cannot see my library and I have to restart iTunes (which is completely unrelated to the current issue and I'm sure function of the way that Windows treats Hello), but in the case of the AppleTV 4 trying to run at the same time as the AppleTV 2 restart iTunes does nothing. Even with completely disconnected the AppleTV 2, restart iTunes (and even the computer) and restart the AppleTV 4 I'm not even to mirror content access purchases through the iTunes store or iTunes on Windows to the AppleTV, so my conclusion that I had to reboot the router and the modem, which was the only way to return the feature.

    At one point we tried to replace the AppleTV 4 with 3, and he was unable to work as the AppleTV 2 and these two have been exploited in tandem for about 3 years now generally without interference other than a problem when we suddenly decides that he cannot see my sharing even if the other is played.

    If someone has any ideas as to why I am suddenly unable to run two AppleTV at the same time, I would like to know. I don't have time to get into it tonight we try to watch a movie, but I think to restore the AppleTV 4 factory settings and see if that solves this problem. I'm also fooling around with the configuration of the 3 units when I have the House to myself and are not trying to keep anyone entertained. I'll post back tomorrow if I can get 2 & 3 or 3 & 4 at the same time. I hope I get lucky and be able to operate in any combination again.

    Just a quick suggestion. Have you given different names mountain BIKING? Apple protocols for colocation and AirPlay are based on these names and get confused if devices with different IPs claim the same name.

Maybe you are looking for

  • How to make a new tab, open a particular web page

    Hi, several months ago a member of your team gave me this link "https://support.mozilla.org/en-US/questions/1028658" that solved my problem. Since then, the software has changed and the 'browser.newtab.url' is no longer available. Please do someone c

  • Pavilion 127c 550: 550-127 Office c a 10-7800 wakes up from sleep

    I just got a desktop with windows 10 computer and it worked fine for 2 days.  Now, when he goes to sleep he is unresponsive to the mouse or keyboard to wake up.  I completely close and restart to make it work.  Support online resources can not downlo

  • Problem with SMS on motorola Dext

    The phone has been working well until yesterday, but now whenever I try to text someone and type the letter Y youtube opens. N opens my news feed and P opens the contacts to my phone. I can't complete texts for this reason how stop it?

  • Windows Vista - my Firewall does not illuminate

    I have Windows Vista. Recently, I turned on my PC and a pop up came to say that my firewall is turned off, I tried to click on it to turn it on and it did not work. I found this site and someone with the same problem and I tried the advice that was g

  • I can adjust is no longer control volume via the speaker icon in the notification bar.

    I found issues of users on this forum where the "speaker" icon has disappeared.  My problem is slightly different.  The "speaker" icon is always visible, but when I click it, I no longer get the vertical bar that allows me to adjust the volume.  I ha