Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Boundschecker thoughts

Boundschecker thoughts

Scheduled Pinned Locked Moved The Lounge
c++questiondiscussion
20 Posts 12 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Michael P Butler
    wrote on last edited by
    #1

    What are your thoughts on Boundschecker for Visual C++. I've used it a previous companies I've worked at and it seemed okay but nothing spectacular. I'm now in the market for this kind of product for my own company (with my own money), so I'd like comments on how useful they find it. I like to think that my code doesn't need it (yeah right), but for my own peace of mind I'd like to be able to run something on my code to spot the flaws that I miss. So is Boundchecker a worthwhile investement? Is there anything better? Michael :-)

    D C S J E 9 Replies Last reply
    0
    • M Michael P Butler

      What are your thoughts on Boundschecker for Visual C++. I've used it a previous companies I've worked at and it seemed okay but nothing spectacular. I'm now in the market for this kind of product for my own company (with my own money), so I'd like comments on how useful they find it. I like to think that my code doesn't need it (yeah right), but for my own peace of mind I'd like to be able to run something on my code to spot the flaws that I miss. So is Boundchecker a worthwhile investement? Is there anything better? Michael :-)

      D Offline
      D Offline
      Derek Lakin
      wrote on last edited by
      #2

      I tried a demo of BoundsChecker a few years back and was fairly impressed. Since then, however, I have heard several people complain about it's false reporting of memory leaks! On the other hand, would they be so well known in that market if the tool was rubbish? Let me know what you decide, I could do with something for my own company (with my own money). Derek Lakin. Salamander Software Ltd.

      1 Reply Last reply
      0
      • M Michael P Butler

        What are your thoughts on Boundschecker for Visual C++. I've used it a previous companies I've worked at and it seemed okay but nothing spectacular. I'm now in the market for this kind of product for my own company (with my own money), so I'd like comments on how useful they find it. I like to think that my code doesn't need it (yeah right), but for my own peace of mind I'd like to be able to run something on my code to spot the flaws that I miss. So is Boundchecker a worthwhile investement? Is there anything better? Michael :-)

        C Offline
        C Offline
        Chris Losinger
        wrote on last edited by
        #3

        i love it. i only use it a couple of times a month, when things get really weird. but it's really useful in finding those strange things (uninitialized variables, interface leaks, etc..) -c ------------------------------ Smaller Animals Software, Inc. http://www.smalleranimals.com

        M 1 Reply Last reply
        0
        • M Michael P Butler

          What are your thoughts on Boundschecker for Visual C++. I've used it a previous companies I've worked at and it seemed okay but nothing spectacular. I'm now in the market for this kind of product for my own company (with my own money), so I'd like comments on how useful they find it. I like to think that my code doesn't need it (yeah right), but for my own peace of mind I'd like to be able to run something on my code to spot the flaws that I miss. So is Boundchecker a worthwhile investement? Is there anything better? Michael :-)

          S Offline
          S Offline
          Stan Shannon
          wrote on last edited by
          #4

          I find Boundschecker to be well worth the cost. I don't use it much, but on those rare occassions when my app is doing the 'funky chicken' because my evil twin, Skippy, caused some kind of stack overflow problem, it is really helpful.

          L M 2 Replies Last reply
          0
          • M Michael P Butler

            What are your thoughts on Boundschecker for Visual C++. I've used it a previous companies I've worked at and it seemed okay but nothing spectacular. I'm now in the market for this kind of product for my own company (with my own money), so I'd like comments on how useful they find it. I like to think that my code doesn't need it (yeah right), but for my own peace of mind I'd like to be able to run something on my code to spot the flaws that I miss. So is Boundchecker a worthwhile investement? Is there anything better? Michael :-)

            J Offline
            J Offline
            johnny webtribe
            wrote on last edited by
            #5

            I use Boundschecker all the time, not only is it good for the stuff that's been mentioned, i.e. bounds checking, uninitialised memory etc., but it's really useful if you're doing a lot of COM stuff, as it tells you about objects that haven't been freed. One good thing about its integration with the IDE is that you can turn it on and off easily, and you can instruct it to ignore warnings and errors that you're aware of (it does do one or two dodgy things). Also, here in Europe, we get very good support, and CompuWare offer training on their products to. I tried the Mutek stuff, but simply couldn't install the demo version. In short, I think that the relatively small cost of Boundschecker is far outweighed by its usefulness.

            1 Reply Last reply
            0
            • S Stan Shannon

              I find Boundschecker to be well worth the cost. I don't use it much, but on those rare occassions when my app is doing the 'funky chicken' because my evil twin, Skippy, caused some kind of stack overflow problem, it is really helpful.

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #6

              Stan I take it Skippy in the US doesn't refer to Skippy the Bush Kangaroo a TV star of his own TV show here in Australia in the 1970's. Michael Martin Pegasystems Pty Ltd Australia martm@pegasystems.com +61 413-004-018 "Don't belong. Never join. Think for yourself. Peace" - Victor Stone

              S 1 Reply Last reply
              0
              • M Michael P Butler

                What are your thoughts on Boundschecker for Visual C++. I've used it a previous companies I've worked at and it seemed okay but nothing spectacular. I'm now in the market for this kind of product for my own company (with my own money), so I'd like comments on how useful they find it. I like to think that my code doesn't need it (yeah right), but for my own peace of mind I'd like to be able to run something on my code to spot the flaws that I miss. So is Boundchecker a worthwhile investement? Is there anything better? Michael :-)

                E Offline
                E Offline
                Ed Dixon
                wrote on last edited by
                #7

                We tried it and discarded it. We found a number of problems: 1. Provides minimal data for release versions 2. Majority of memory leak errors reported were incorrect 3. Majority of program errors reported were also incorrect The bottom line for us was that the use resulted in a total loss rather than a gain. There may be other examples that go the other way, but we found we could not trust virtually anything it reported. Ed

                M 1 Reply Last reply
                0
                • M Michael P Butler

                  What are your thoughts on Boundschecker for Visual C++. I've used it a previous companies I've worked at and it seemed okay but nothing spectacular. I'm now in the market for this kind of product for my own company (with my own money), so I'd like comments on how useful they find it. I like to think that my code doesn't need it (yeah right), but for my own peace of mind I'd like to be able to run something on my code to spot the flaws that I miss. So is Boundchecker a worthwhile investement? Is there anything better? Michael :-)

                  O Offline
                  O Offline
                  Oz Solomon
                  wrote on last edited by
                  #8

                  I've been using BC for a few years, and would recommend that every programmer use it, or a similar product (like Rational Purify and others). The $500 or so price tag is cheaper than the support nightmares it might spare you. However, it is a good idea to be aware of the bugs and limitations of each product. For BoundsChecker, I've found the follwing bugs/annoyances/problems (take your pick). 1. Memory that is freed by static destructors (i.e. for objects declared globally and initialized before main() is called) is incorrectly flagged as beeing a leak. This makes memory leak detection in BC pretty much useless to me since I use a lot of global auto-pointers. (Note: the VC++ built in heap debugging facilities are really usefull in this case). 2. Even after so many releases, NuMega still haven't been able to get the "Ignore this error" stuff wrong. This is especially annoying for code that uses the STL, since BChecker bitches about every other line there. At least they finally got the MFC exclusions right... 3. As good as it is, it ain't perfect! In other words - if it finds bugs, you're lucky. If it doesn't find bugs, it doesn't mean they aren't there! There are more things, but I can't remember at this moment.. ;P But I'm sure you get the picture. -Oz --- Grab WndTabs from http://www.wndtabs.com to make your VC++ experience that much more comfortable...

                  1 Reply Last reply
                  0
                  • M Michael P Butler

                    What are your thoughts on Boundschecker for Visual C++. I've used it a previous companies I've worked at and it seemed okay but nothing spectacular. I'm now in the market for this kind of product for my own company (with my own money), so I'd like comments on how useful they find it. I like to think that my code doesn't need it (yeah right), but for my own peace of mind I'd like to be able to run something on my code to spot the flaws that I miss. So is Boundchecker a worthwhile investement? Is there anything better? Michael :-)

                    I Offline
                    I Offline
                    Igor Proskuriakov
                    wrote on last edited by
                    #9

                    You definitely need at least one of such instruments if you are doing serious development. If you have a lot of money, I would even recommend to buy both purify and bounschecker - they are using different techniques. You also should be aware of limitations and bugs, for sure every reported error is not a real error. If you need to choose between Purify and BoundsChecker - download trials for both and compare ! Another similar product is HeapAgent. It is cheap, limited, but might be better for release versions, it almost does not slow execution time. Igor Proskuriakov

                    1 Reply Last reply
                    0
                    • E Ed Dixon

                      We tried it and discarded it. We found a number of problems: 1. Provides minimal data for release versions 2. Majority of memory leak errors reported were incorrect 3. Majority of program errors reported were also incorrect The bottom line for us was that the use resulted in a total loss rather than a gain. There may be other examples that go the other way, but we found we could not trust virtually anything it reported. Ed

                      M Offline
                      M Offline
                      Michael P Butler
                      wrote on last edited by
                      #10

                      What kind of code were you checking against? MFC, straight API, ATL, WTL? Michael :-)

                      E 1 Reply Last reply
                      0
                      • M Michael P Butler

                        What kind of code were you checking against? MFC, straight API, ATL, WTL? Michael :-)

                        E Offline
                        E Offline
                        Ed Dixon
                        wrote on last edited by
                        #11

                        All MFC. Once we found that it's results were untrustworthy, we abandoned all use. In some cases test changes made based on reported code errors resulted in a non working program. Ed

                        E 1 Reply Last reply
                        0
                        • M Michael P Butler

                          What are your thoughts on Boundschecker for Visual C++. I've used it a previous companies I've worked at and it seemed okay but nothing spectacular. I'm now in the market for this kind of product for my own company (with my own money), so I'd like comments on how useful they find it. I like to think that my code doesn't need it (yeah right), but for my own peace of mind I'd like to be able to run something on my code to spot the flaws that I miss. So is Boundchecker a worthwhile investement? Is there anything better? Michael :-)

                          T Offline
                          T Offline
                          Tomasz Sowinski
                          wrote on last edited by
                          #12

                          I like to think that my code doesn't need it (yeah right) Yeah right. Don't think like this and buy BC or Purify - this is the only advice I can give, they both are worth their prices. These days I'm using Purify. The only problem I've had was related to passing pointers as args to functions. In my shareware product, I did some tricks with xoring pointers before using them as parameters, then re-xoring them again inside function (one of weakest forms of protection against crackers). Purify gets fooled and passed pointer is incorrect - this is probably related to code and data instrumentation. Tomasz Sowinski -- http://www.shooltz.com

                          1 Reply Last reply
                          0
                          • C Chris Losinger

                            i love it. i only use it a couple of times a month, when things get really weird. but it's really useful in finding those strange things (uninitialized variables, interface leaks, etc..) -c ------------------------------ Smaller Animals Software, Inc. http://www.smalleranimals.com

                            M Offline
                            M Offline
                            Michael P Butler
                            wrote on last edited by
                            #13

                            What kind of code do you use it against, MFC, STL, ATL, WTL? How do you find the ui, is it usable or do you sometimes struggle with it. I know in the past I've had problems getting it to ignore problems which weren't problems. Michael :-)

                            C 1 Reply Last reply
                            0
                            • S Stan Shannon

                              I find Boundschecker to be well worth the cost. I don't use it much, but on those rare occassions when my app is doing the 'funky chicken' because my evil twin, Skippy, caused some kind of stack overflow problem, it is really helpful.

                              M Offline
                              M Offline
                              Michael P Butler
                              wrote on last edited by
                              #14

                              What kind of code do you check against? ATL, MFC, WTL, STL? Any annoying issues with it? Michael :-)

                              S 1 Reply Last reply
                              0
                              • M Michael P Butler

                                What kind of code do you use it against, MFC, STL, ATL, WTL? How do you find the ui, is it usable or do you sometimes struggle with it. I know in the past I've had problems getting it to ignore problems which weren't problems. Michael :-)

                                C Offline
                                C Offline
                                Chris Losinger
                                wrote on last edited by
                                #15

                                all of the above (except WTL, i don't use that). the UI is fine - no problems with the latest version. it seems to be less intrusive than previous versions (fewer confirmation dialogs, etc). ignoring problems that aren't problems. yeah, there's some of that, especially with templates. a lot of STL increments pointers out of bounds (never using them, just doing a "++" on them). this scares BC and you have to supress the message for each template specialization. that can be a big PITA, but i find it's usually worth the trouble, when it finds that un-inited variable or resource leak that's been troubling me. -c ------------------------------ Smaller Animals Software, Inc. http://www.smalleranimals.com

                                1 Reply Last reply
                                0
                                • M Michael P Butler

                                  What are your thoughts on Boundschecker for Visual C++. I've used it a previous companies I've worked at and it seemed okay but nothing spectacular. I'm now in the market for this kind of product for my own company (with my own money), so I'd like comments on how useful they find it. I like to think that my code doesn't need it (yeah right), but for my own peace of mind I'd like to be able to run something on my code to spot the flaws that I miss. So is Boundchecker a worthwhile investement? Is there anything better? Michael :-)

                                  T Offline
                                  T Offline
                                  Tim Smith
                                  wrote on last edited by
                                  #16

                                  I use Rational Purify and like it a LOT. I develop ATL/WTL code. Tim Smith Descartes Systems Sciences, Inc.

                                  1 Reply Last reply
                                  0
                                  • L Lost User

                                    Stan I take it Skippy in the US doesn't refer to Skippy the Bush Kangaroo a TV star of his own TV show here in Australia in the 1970's. Michael Martin Pegasystems Pty Ltd Australia martm@pegasystems.com +61 413-004-018 "Don't belong. Never join. Think for yourself. Peace" - Victor Stone

                                    S Offline
                                    S Offline
                                    Stan Shannon
                                    wrote on last edited by
                                    #17

                                    Hard to tell, Skippy gets around alot!

                                    1 Reply Last reply
                                    0
                                    • M Michael P Butler

                                      What kind of code do you check against? ATL, MFC, WTL, STL? Any annoying issues with it? Michael :-)

                                      S Offline
                                      S Offline
                                      Stan Shannon
                                      wrote on last edited by
                                      #18

                                      MFC mostly. Also, the other posters here are correct that Boundschecker reports *many* false memory leaks. That generally does not annoy me too much simply because memory leaks are so easy to detect and eliminate anyway I don't consider them to be a big deal.

                                      1 Reply Last reply
                                      0
                                      • E Ed Dixon

                                        All MFC. Once we found that it's results were untrustworthy, we abandoned all use. In some cases test changes made based on reported code errors resulted in a non working program. Ed

                                        E Offline
                                        E Offline
                                        Eric Kenslow
                                        wrote on last edited by
                                        #19

                                        That explains it; if you can't modify your own code without breaking it there's no hope for figuring out how to use BC. :) BC's not perfect but its (usually minor) deficiencies are pretty well known (see nice summary of STL template specialization snafu elsewhere in this thread). It's far from being fatally flawed. -- Eric

                                        E 1 Reply Last reply
                                        0
                                        • E Eric Kenslow

                                          That explains it; if you can't modify your own code without breaking it there's no hope for figuring out how to use BC. :) BC's not perfect but its (usually minor) deficiencies are pretty well known (see nice summary of STL template specialization snafu elsewhere in this thread). It's far from being fatally flawed. -- Eric

                                          E Offline
                                          E Offline
                                          Ed Dixon
                                          wrote on last edited by
                                          #20

                                          Perhaps I should clarify. We suspected at an early stage that the reports we saw were incorrect. To confirm this, we implemented some of the suggested improvements implied by the code errors reported. In almost each case, it resulted in a program that went from no leaks to one with leaks, or from one that ran, to one that faulted. As a result, we found that well over 50% of the problems/errors/leaks reported were completely bogus. That's when we packed it up and sent it back. Ed

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups