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 Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut .... 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 ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Debugging Tool
A debugger is a computer program used to software testing, test and debugging, debug other programs (the "target" programs). Common features of debuggers include the ability to run or halt the target program using breakpoints, stepping (debugging), step through code line by line, and display or modify the contents of memory, CPU registers, and stack frames. 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 modes of operation, full or partial simulation, to limit this impact. An exception occurs when the program cannot normally continue because of a software bug, programming bug or invalid data. For example, the program might have tried to use an instruction not available on the current ver ...
[...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 is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, publishes and supports Mozilla products, thereby promoting free software and open standards. The community is supported institutionally by the Nonprofit organization, non-profit Mozilla Foundation and its tax-paying subsidiary, the Mozilla Corporation. List of Mozilla products, Mozilla's current products include the Firefox web browser, Mozilla Thunderbird, Thunderbird e-mail client (now through a subsidiary), the Bugzilla bug tracking system, the Gecko (software), Gecko layout engine, and the Pocket (service), Pocket "read-it-later-online" service. History On January 23, 1998, Netscape announced that its Netscape Communicator browser software would be free, and that its source code would also be free. One day later, Jamie Zawinski of Netscape registered . The project took its name, "Mozilla", from the original code name of the Netscape Navigator browser—a por ...
[...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. Firefox is available for Windows 10 or later versions of Windows, macOS, and Linux. Its unofficial ports are available for various Unix and Unix-like operating systems, including FreeBSD, OpenBSD, NetBSD, and other operating systems, such as ReactOS. Firefox 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 is the spiritual successor of Netscape Navigator, as the Mozilla community was created by Netscape in 1998, before its acquisition ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Google Chrome
Google Chrome is a 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, iPadOS, and also for Android (operating system), 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 (web browser), Chromium, but Chrome is licensed as proprietary freeware. WebKit was the original Browser engine, rendering engine, but Google eventually Fork (software development), forked it to create the Blink (browser engine), Blink engine; all Chrome variants except iOS used Blink as of 2017. , StatCounter estimates that Chrome has a 65% worldwide usage share of web browsers, browser market share (after peaking at 72.38% in November 2018) on personal comput ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

QEMU
The Quick Emulator (QEMU) is a free and open-source emulator that uses dynamic binary translation to emulate a computer's processor; that is, it translates the emulated binary codes to an equivalent binary format which is executed by the machine. It provides a variety of hardware and device models for the virtual machine, enabling it to run different guest operating systems. QEMU can be used with a Kernel-based Virtual Machine (KVM) to emulate hardware at near-native speeds. Additionally, it supports user-level processes, allowing applications compiled for one processor architecture to run on another. QEMU supports the emulation of x86, ARM, PowerPC, RISC-V, and other architectures. Licensing QEMU is free software developed by Fabrice Bellard. Different components of QEMU are licensed under the GNU General Public License (GPL), BSD license, GNU Lesser General Public License (LGPL), or other GPL-compatible licenses. Operating modes QEMU has multiple operating modes: ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

LibreOffice
LibreOffice () is a free and open-source office productivity software suite developed by The Document Foundation (TDF). It was created in 2010 as a fork of OpenOffice.org, itself a successor to StarOffice. The suite includes applications for word processing (Writer), spreadsheets ( Calc), presentations (Impress), vector graphics ( Draw), databases ( Base), and formula editing (Math). It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. LibreOffice is available for Windows, macOS, and is the default office suite in many Linux distributions, and there are community builds for other platforms. Ecosystem partner Collabora uses LibreOffice as upstream code to provide an online solution branded as Collabora Online, and apps for Android, iOS, iPadOS, and ChromeOS operating systems which are branded as Collabora Office. TDF describes LibreOffice as intended for individual users, and encourages en ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Free Software
Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, 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)
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 the source code—the preferred ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


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 a 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 single moth ...
[...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]