Rr (debugging)
   HOME
*





Rr (debugging)
In computing, rr is a debugging tool for Linux designed to record and replay program execution. During the replay phase, rr provides an enhanced gdb debugging experience that supports reverse execution. rr was originally developed by Mozilla to debug Mozilla Firefox on commodity hardware and software. rr is now widely used outside Mozilla and capable of debugging software such as Google Chrome, QEMU, and LibreOffice. rr is free software. Design During the recording phase, rr records all inputs to a Linux process group from the kernel, as well as nondeterministic CPU effects (such as rdtsc). These inputs are logged to disk and become the "trace". Once the trace is recorded, it can be replayed as many times as desired and all state will be reproduced exactly. During replay rr will act as a gdbserver providing a gdb experience capable of reverse-execution. Because a bug can be replayed over and over again, rr enables new methods of debugging issues that are very difficult to so ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Debugging Tool
A debugger or debugging tool is a computer program used to test and debug other programs (the "target" program). The main use of a debugger is to run the target program under controlled conditions that permit the programmer to track its execution and monitor changes in computer resources that may indicate malfunctioning code. Typical debugging facilities include the ability to run or halt the target program at specific points, display the contents of memory, CPU registers or storage devices (such as disk drives), and modify memory or register contents in order to enter selected test data that might be a cause of faulty program execution. The code to be examined might alternatively be running on an ''instruction set simulator'' (ISS), a technique that allows great power in its ability to halt when specific conditions are encountered, but which will typically be somewhat slower than executing the code directly on the appropriate (or the same) processor. Some debuggers offer two m ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Record And Replay Debugging
Record and replay debugging is the process of recording the execution of a software program so that it may be played back within a debugger to help diagnose and resolve defects. The concept is analogous to the use of a flight data recorder to diagnose the cause of an airplane flight malfunction. Recording and replaying Record and replay debuggers record application state at every step of the program's process and thread execution, including memory interactions, deterministic and non-deterministic inputs, system resource status, and store it to disk in a log. The recording allows the program to be replayed again and again, and debugged exactly as it happened. Usage Recordings can be made in one location and replayed in another, which makes it useful for remote debugging. Record and replay debugging is particularly useful for debugging intermittent and non-deterministic defects, which can be difficult to reproduce. Record and replay debugging technology is often fundamental to ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Mozilla
Mozilla (stylized as moz://a) is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, with only minor exceptions. The community is supported institutionally by the non-profit Mozilla Foundation and its tax-paying subsidiary, the Mozilla Corporation. Mozilla's current products include the Firefox web browser, Thunderbird e-mail client (now through a subsidiary), Bugzilla bug tracking system, Gecko layout engine, Pocket "read-it-later-online" service, and others. History On January 23, 1998, Netscape made two announcements. First, that Netscape Communicator would be free; second, that the source code would also be free. One day later, Jamie Zawinski from Netscape registered . The project took its name "Mozilla", after the original code name of the Netscape Navigator browser—a portmanteau of "Mosaic and Godzilla", and us ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Mozilla Firefox
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current and anticipated web standards. In November 2017, Firefox began incorporating new technology under the code name "Quantum" to promote parallelism and a more intuitive user interface. Firefox is available for Windows 7 and later versions, macOS, and Linux. Its unofficial ports are available for various Unix and Unix-like operating systems, including FreeBSD, OpenBSD, NetBSD, illumos, and Solaris Unix. It is also available for Android and iOS. However, as with all other iOS web browsers, the iOS version uses the WebKit layout engine instead of Gecko due to platform requirements. An optimized version is also available on the Amazon Fire TV as one of the two main browsers available with Amazon's Silk Browser. Firefox was created in 2002 under t ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Google Chrome
Google Chrome is a cross-platform web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. Versions were later released for Linux, macOS, iOS, and also for Android, where it is the default browser. The browser is also the main component of ChromeOS, where it serves as the platform for web applications. Most of Chrome's source code comes from Google's free and open-source software project ''Chromium'', but Chrome is licensed as proprietary freeware. WebKit was the original rendering engine, but Google eventually forked it to create the Blink engine; all Chrome variants except iOS now use Blink. , StatCounter estimates that Chrome has a 67% worldwide browser market share (after peaking at 72.38% in November 2018) on personal computers (PC), is most used on tablets (having surpassed Safari), and is also dominant on smartphones and at 65% across all platforms combined. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

QEMU
QEMU is a free and open-source emulator (Quick EMUlator). It emulates the machine's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for user-level processes, allowing applications compiled for one architecture to run on another. Licensing QEMU was written by Fabrice Bellard and is free software, mainly licensed under the GNU General Public License (GPL for short). Various parts are released under the BSD license, GNU Lesser General Public License (LGPL) or other GPL-compatible licenses. Operating modes QEMU has multiple operating modes: ;User-mode emulation: In this mode QEMU runs single Linux or Darwin/macOS programs that were compiled for a different instruction set. System calls are thunked for endianness and for ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

LibreOffice
LibreOffice () is a free and open-source productivity software, office productivity software suite, a project of The Document Foundation (TDF). It was fork (software development), forked in 2010 from OpenOffice.org, an open-sourced version of the earlier StarOffice. The LibreOffice suite consists of programs for word processing, creating and editing of spreadsheets, slideshows, diagrams and drawings, working with databases, and composing mathematical formulae. It is available in 115 languages. TDF doesn't provide support for LibreOffice, but enterprised-focused editions are available from companies in the ecosystem. LibreOffice uses the OpenDocument standard as its native file format, but supports formats of most other major office suites, including Microsoft Office, through a variety of import and export filters. LibreOffice is available for a variety of computing platforms, with official support for Microsoft Windows, macOS and Linux and community builds for many other platfo ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Free Software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, not price; all users are legally free to do what they want with their copies of a free software (including profiting from them) regardless of how much is paid to obtain the program.Selling Free Software
(gnu.org)
Computer programs are deemed "free" if they give end-users (not just the developer) ultimate control over the software and, subsequently, over their devices. The right to study and modify a computer program entails that

picture info

Rdtsc
The Time Stamp Counter (TSC) is a 64-bit register present on all x86 processors since the Pentium. It counts the number of CPU cycles since its reset. The instruction RDTSC returns the TSC in EDX:EAX. In x86-64 mode, RDTSC also clears the upper 32 bits of RAX and RDX. Its opcode is 0F 31. Pentium competitors such as the Cyrix 6x86 did not always have a TSC and may consider RDTSC an illegal instruction. Cyrix included a Time Stamp Counter in their MII. Use The Time Stamp Counter was once an excellent high-resolution, low-overhead way for a program to get CPU timing information. With the advent of multi-core/ hyper-threaded CPUs, systems with multiple CPUs, and hibernating operating systems, the TSC cannot be relied upon to provide accurate results — unless great care is taken to correct the possible flaws: rate of tick and whether all cores (processors) have identical values in their time-keeping registers. There is no promise that the timestamp counters of multiple CPUs on a ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Gdbserver
gdbserver is a computer program that makes it possible to remotely debug other programs. Running on the same system as the program to be debugged, it allows the GNU Debugger to connect from another system; that is, only the executable to be debugged needs to be resident on the target system ("target"), while the source code and a copy of the binary file to be debugged reside on the developer's local computer ("host"). The connection can be either TCP or a serial line. How it works # gdbserver is launched on the target system, with the arguments: #* Either a device name (to use a serial line) or a TCP hostname and port number, and #* The path and filename of the executable to be debugged #:It then waits passively for the host gdb to communicate with it. # gdb is run on the host, with the arguments: #* The path and filename of the executable (and any sources) on the host, and #* A device name (for a serial line) or the IP address and port number needed for connection to the target ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]