Coder Social home page Coder Social logo

ytrace_gui's Introduction

中文README

This is a web ui for ytrace, see also ytrace_chrome_extension.

Why

I need to take over some project. To understand the code logic, I have to debug the code(many code is dirty but run:-)). I can use var_dump/die(this is inefficient) or the powerful debug tool XDebug(but traces and remote debugging still not so convenient).

So, I create this tool, make traces combined with step-through debugging. Hope it useful for you.

feature

  • step through debugging
  • break point
  • jump to any executed source code line
  • step back through your step history

Install

  • git clone this project
  • composer install
  • in project root dir, run php -S localhost:8088

By default, ytrace_gui will detect ytrace.output_dir from ini_get. If need, you can edit index.php, change //define('YTRACE_OUTPUT_DIR', '/tmp/ytrace/');

Wiki

Home Page: List all traced files, click on one of the items in the list to open source page.

  • Clear Traces: delete all traced files.
  • Refresh: update list.
  • List field explanation:
    • Sapi: cli, fpm-fcgi etc
    • Method: http method in fpm-fcgi
    • Uri: http request uri in fpm-fcgi
    • File: file name
    • Size: file size
    • Time: created time

Source Page: show detail of traced files.

  • source code show in left side, traced value show in right side.
    • only assignment and function call will be traced
    • ++, --, +=, /=, -=, *=, %= etc, shows the values before these operators execute
    • PHP 7 cannot show internal function parameters name (parameter name cannot be found will be showed as $...)
  • executed line will be highlight in green, dark green means current execute
    • click highlighted line number, can jump current execute to it
    • ctrl+click line number, can set/clear a breakpoint (breakpoint will be highlight in red line number)
  • execute operation:
    • step into: same with gdb
    • step back: execute back through your step history
    • step over: same with gdb
    • step out: same with gdb
    • continue: same with gdb, execute to next breakpoint
    • reset: reset execute to first entry
  • shortcut:
    • ctrl+o: open 10 latest traced file popup list
    • ctrl+p: open traced source file popup list, only available in source page
    • ctrl+r: open current source file function/method popup list, only available in source page
    • ctrl+b: open breakpoints popup list, only available in source page

ytrace_gui's People

Contributors

yangxikun avatar

Stargazers

madina avatar m4d3bug avatar hello avatar  avatar  avatar FeliciaXie avatar houbaron avatar rainy avatar  avatar  avatar  avatar Arvin avatar Hing avatar  avatar Kevin avatar aisuhua avatar  avatar hernny179 avatar  avatar 创新 avatar 蔡正海 avatar Guo Yu avatar  avatar Amelia avatar neelee avatar 蓝狼 avatar 记忆 avatar chenwencheng avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar .T. avatar  avatar 姚文强 avatar Robert avatar Wing avatar 李云龙 avatar Stephen avatar recoye avatar Chris Cornutt avatar  avatar zhaoyang avatar Stone Penn avatar  avatar  avatar wenmang avatar wwek avatar Jason Sun avatar Liu Hui avatar  avatar slee avatar smarteng avatar  avatar  avatar Lee avatar

Watchers

smarteng avatar James Cloos avatar  avatar  avatar  avatar

ytrace_gui's Issues

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.