Welcome to Help

  • Nobody/Anonymous

    Welcome to Help

    • David Topham

      David Topham - 2007-12-15

      I tried using this tool but got this message:

      Component comdlg32.ocx or one of its dependents not correctly registered: a file is missing or invalid.

      Any suggestions?

      • migosh

        migosh - 2007-12-15


        I've uploaded a new version, which is not requiring this OCX, please try to use it and let me know if you are still getting some errors.


        • David Topham

          David Topham - 2007-12-16

          Thank you, the new version does start up OK. However, I have tried a couple of ways to monitor a running process without success. I am using winXP. I started a console app and then got it PID from Task Manager. I typed that number into the textbox for PID and clicked "Start Monitoring". I expect now that button would become disabled and the other buttons to become enabled, but that doesn't happen. Instead the MemoryHooksUI process is hung with the windows hourglass until I close the app clicking the X. Task Manager shows the process is "Not responding" and this detail:

          szAppName : MemoryHooksUI.exe     szAppVer : 1.0.2274.40370    
          szModName : hungapp     szModVer :     offset : 00000000

          I also tried with a windows GUI app with same results.

    • migosh

      migosh - 2007-12-17

      I'm sorry, that was my mistake - please don't use version 1.1.2, it contains incompatible files.

      New version (1.1.3) is available, I tested it with number of applications, and it worked. Hope this time it will be OK.

    • David Topham

      David Topham - 2007-12-23

      Thanks for your help. I am able to use version 1.1.3 successfully. I tested it using this program (testleaks.cpp):
      #include <iostream>
      template< typename T >
      struct ListNode
          ListNode( T t ) : data(t),nextPtr(0) {};
          T data;
          ListNode *nextPtr;
      int main()
           char ch;  // used to wait until ready to start
           ListNode<int> *first = new ListNode<int>( 10 );
           ListNode<int> *newPtr = new ListNode<int>( 5 );
           first->nextPtr = newPtr;
           for( ListNode<int>*p = first; p != NULL; p=p->nextPtr )
              std::cout << p->data << std::endl;
           delete first;
           delete newPtr;

      As expected, if I comment out the delete statements, then the log reports that there are 2 memory leaks of 8 bytes each.

      However, it also reports another leak:
      Created by MemoryHooks
      Dumping leaks from 1 heaviest stacks


      Stack #1, total leak size: 8216
          call stack:
              0x7c91ebdd --> [ntdll] CsrAllocateCaptureBuffer
              0x7c8717e8 --> [kernel32] GetConsoleInputWaitHandle
              0x7c871a68 --> [kernel32] ReadConsoleA
              0x7c8018b3 --> [kernel32] ReadFile
              0x77c2f941 --> [msvcrt] putch
              0x77c2fafa --> [msvcrt] read
              0x77c3ebb3 --> [msvcrt] filbuf
              0x77c40b60 --> [msvcrt] getc
              0x00412c95 --> [testLeaks]
              0x00425b05 --> [testLeaks]
              0x004013a5 --> [testLeaks]
              0x0040124b --> [testLeaks]
              0x00401298 --> [testLeaks]
              0x7c816fd7 --> [kernel32] RegisterWaitForInputIdle
              0x00000000 --> [testLeaks]

      Is this due to the I/O buffer? Is it really a leak?

      • migosh

        migosh - 2007-12-24

        I'm glad you could finally use the tool.

        According to the stack I guess that it's the internal allocation of the buffer made by std::cin to read data from the console, so it's not a leak. And, more important, even if you'll use make more allocations, or will do more "getc" calls, the size of this "leak" will not change.

  • Alexander Alderweireldt

    Just to let you know of a dependency I didn't see mentioned:

    MemoryHooksUI.exe doesn't run without the dotnet framework.

    Took me a half day to figure that out ^_^


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks