Giter VIP home page Giter VIP logo

traceviewer's Introduction

Not actively maintained, but PRs are welcome

TraceViewer

License: MIT

The trace viewer can be used to view and visualize (buggy) execution traces generated by the P# tester. Its goal is to provide highly-customizable trace views to significantly help the process of debugging your asynchronous application.

How to build

First run the following in your command line to restore the packages:

dotnet restore .\TraceViewer.sln

Then, open the .\TraceViewer.sln solution and build.

How to use

To open the trace viewer use the following command:

.\bin\net46\TraceViewer.exe

The input to the trace viewer is a .pstrace file, which is dumped by the PSharpTester.exe. From the File menu, choose the trace file to be loaded. The viewer will then populate the dynamic trace view.

Trace Viewing

The dynamic trace view can help you read and make sense of a specified .pstrace file. By default it lists all the actions that occurred during the program execution, as seen in the following figure:

Trace View Focus

You can focus on specific steps of the trace by selecting a cell. The trace viewer will then highlight only the steps that are related to the selection. For example, in the following figure, the trace viewer focuses on any action related to machine Raft.Server(3).

In the following figure, the trace viewer focuses on any action that caused a VoteRequest event to be sent.

Trace Searching

You can use the search text box (Ctrl+F) to find strings in the trace. All rows that do not contain the searched string will fade. By pressing enter you can move to the next row containing the string.

Trace View Collapse

You are also able to collapse the trace view by selecting a cell and then clicking the Collapse menu button. This hides all actions not related to the selected cell, similar to the following figure:

To reset the trace view, click the Expand menu button (or click outside the trace view).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.