BLACK BOX FREQUENTLY ASKED QUESTIONS
  • Question 1. Are Mutek's Black Boxes hardware components or software applications?
  • Question 2. What exactly does the Black Box record?
  • Question 3. In which environments does the Black Box operate and support?
  • Question 4. How does an application need to be prepared so a Black Box will record the application?
  • Question 5. Is there a way that Mutek's Black Boxes can trace multiple executables simultaneously?
  • Question 6. I only want the Black Box to always record the execution of only one application that is known to be problematic. Also the end-user cannot be depended upon to configure the Black Box each time to record this application. Is there a simple solution for such a situation?
  • Question 7. How is the Black Box able to record without affecting the behavior of my application?
  • Question 8. How do I make sure that the Black Box records sufficient application execution history?

Question 1
Are Mutek's Black Boxes hardware components or software applications?

Answer:
Mutek's Black Boxes are small software applications.
Question 2
What exactly does the Black Box record?

Answer:
Mutek's Black Boxes record at 3 levels, the User Level and System Level (AppSight), and the Code Level (BugTrapper).

The User Level records all the user actions: keystrokes, mouse movement and clicks, screen operations, etc. The user's actions are played back both visually, a movie of the user's experience, and in text format, detailing every action taken.

The System Level looks at application behavior by focusing on external interactions and events between an application and the environment within which it is operating. File, registry, process, COM, networking, GUI and other operations are recorded at their time of execution and synchronized with user interactions and desktop screen captures. Replaying user and system level recordings from a Black Box is done with the AppSight™ Front End Console.

While the user and the system level are focused on the interactions of applications with their external environment, the code level records the actual internal operation of programs.The Code Level is used to record, replay and pinpoint problems down to the line of code in an application. At the code level, the Black Box records the actual internal operation of applications including dynamically loaded DLLs, spawned sub-processes, as well as code injected to third party executables such as Window's Hooks, and Active X. Special support is also provided for multi-threaded and multi-process applications. Replaying code level recordings from a Black Box is done with the BugTrapper Front End Console.

Question 3
In which environments does the Black Box operate and support?

Answer:
Mutek's Black Box operates in both Server and Client environments. Within each environment, the recording can be done at the user, system or code level. (The system level server Black Box is to be released shortly). At the user and system level, the Black Box records any 32-bit application. The User and System Level Black Box supports the following platforms: Windows 95/98; Windows NT and Windows 2000.

At the code level, the Black Box records C, C++ and VB 32-bit programs compiled in Microsoft Visual C++ version 5.0 and higher, and Microsoft Visual Basic version 5.0 and higher. The Code Level Black Box supports the following platforms: Windows 95/98; Windows ME; Windows NT and Windows 2000.
Question 4
How does an application need to be prepared so a Black Box will record the application?
Answer:
For User and System Level Black Box, there is no need to prepare an application in any way to record its execution. Once a Black Box is installed, all that is required is to define the recording parameters (which can be pre-determined). For Code Level Black Box, you require the PDB information to define the recording parameters and to view the log file. To trace on the code level, the Black Box does not require PDB information.
Question 5
Is there a way that Mutek's Black Boxes can trace multiple executables simultaneously?
Answer:
Yes, not only can you record the execution of multiple executables, but you can also record multiple instances of the same executable. Even within the execution of an application, the Black Box recognizes and separates the different threads for replay - Mutek's Black Boxes are the only solution for troubleshooting and debugging multi-threaded and time-critical applications
Question 6
I only want the Black Box to always record the execution of only one application that is known to be problematic. Also the end-user cannot be depended upon to configure the Black Box each time to record this application. Is there a simple solution for such a situation?
Answer:
Yes there certainly is. A Black Box can be pre-configured to record only specified applications. When a defined application is not running, the Black Box will not record. As soon as a defined application is launched the Black Box will automatically recognize this and auto-attach to the application, recording its execution. When the application exits the Black Box will stop recording and the Black Box log file will be saved.
Question 7
How is the Black Box able to record without affecting the behavior of my application?
Answer:
Mutek developed a technology known as Binary Hooking. Using this patented pending technology, a running process can be accessed and run-time diagnostics retrieved without affecting the applications execution. For obvious reasons, we cannot provide additional details on how the binary hooking is implemented.
Question 8
How do I make sure that the Black Box records sufficient application execution history?
Answer:
A Black Box uses a cyclical memory buffer to temporarily store the data collected. When the buffer is full, it overwrites itself from the beginning (first in, first out - FIFO), in a cyclical pattern. The size of the buffer can be configured so you can determine the amount of data you want to record. Alternatively you can configure the Black Box not to lose any information collected. Instead of overwriting data, when the buffer is full, the contents can be written to a file on the hard disk, and with each additional time the information is written, the contents are appended to the same file.