[{"data":1,"prerenderedAt":397},["ShallowReactive",2],{"project-43280615":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":42,"post_text":44,"what":45,"said":71,"maker_in_thread":215,"shape":225,"grid":228,"attempts":359,"same_week":360,"maker_shows":39,"maker_hidden":389,"reader_version":390,"card":391},"43280615","CodeTracer","A time-traveling debugger implemented in Nim and Rust","title","Show HN: CodeTracer – A time-traveling debugger implemented in Nim and Rust","https:\u002F\u002Fgithub.com\u002Fmetacraft-labs\u002Fcodetracer","github.com","alehander42",1741271410,2025,334,52,148,3837,4,"legend","dev_tools","debugger","desktop_app",[24,25,26,27],"time travel debugger","execution trace","record replay debugging","noir debugger","mixed",0.092,{"positive":31,"neutral":32,"mixed":33,"critical":18},7,9,1,21,{"performance":36,"idea":38,"design":40,"execution":41},{"positive":37,"critical":33},0,{"positive":39,"critical":33},5,{"positive":37,"critical":33},{"positive":37,"critical":33},[37,37,37,43,39,39,39,37,37,37,37,37,37,43,37,33,33,37,33,39,37,37,37,33,39,37,43,43,37,39,43,37,43,37,37,39,43,43,43,37],3,"Hey!\n\nWe are presenting CodeTracer - a user-friendly time-traveling debugger designed to support a wide range of programming languages:\n\nhttps:\u002F\u002Fgithub.com\u002Fmetacraft-labs\u002Fcodetracer?tab=readme-ov-file#introduction\n\nCodeTracer records the execution of a program into a sharable self-contained trace file. You can load the produced trace files in a GUI environment that allows you to move forward and backward through the execution and to examine the history of all memory locations. They say a picture is worth a thousand words — well, a video is even better! Watch the demo below to see CodeTracer in",{"problem":46,"audience":52,"pricing":52,"motivation":52,"time_to_build":52,"stack":53,"openness":68,"stage":69,"team_size":70},{"value":47,"source":48,"evidence":49},"Stepping backward through program execution and examining memory history to debug programs","maker",[50],{"id":51},"post",null,[54,60,64],{"value":55,"source":48,"evidence":56},"Nim",[57],{"id":58,"by":11,"text":59},"43284781","Nim is the original language we use. Zahary is a prolific contributor to Nim, and we have a good relationship with the Nim community, they've helped a lot! Nim and some Python…",{"value":61,"source":48,"evidence":62},"Rust",[63],{"id":58,"by":11,"text":59},{"value":65,"source":48,"evidence":66},"JavaScript (Nim compiled to JS frontend)",[67],{"id":58,"by":11,"text":59},"open_source","beta","team",{"praise":72,"objections":99,"requests":123,"questions":159,"alternatives":182},[73,89],{"value":74,"source":75,"evidence":76},"Useful time-travel debugging idea and interface","commenter",[77,81,85],{"id":78,"by":79,"text":80},"43281915","cxie","The planned RR recordings integration is what I'm most excited about though. Having this capability for systems languages like Rust and C++ would be transformative for complex…",{"id":82,"by":83,"text":84},"43282337","Apofis","This happens all the time and is super irksome. Being able to step backwards as well as forwards is super cool. Also, being able to do that with a loop using a slider is cool.",{"id":86,"by":87,"text":88},"43281030","kingforaday","Congrats on the release! Looks like you have done a great job so far. Doesn't fit a need for me at the moment, but I will keep an eye out for the alternative back-end evolution…",{"value":90,"source":75,"evidence":91},"Support for Nim and other under-supported systems languages",[92,96],{"id":93,"by":94,"text":95},"43282360","esafak","Thank you for building up the nim ecosystem.",{"id":97,"by":94,"text":98},"43285614","You can appreciate it for building up good, under-supported languages like nim, zig, and D.",[100,107,116],{"value":101,"source":75,"evidence":102},"Headline suggests multi-language support but only Noir works initially",[103],{"id":104,"by":105,"text":106},"43282175","forrestthewoods","Windows support? What languages? How does it work? I don’t like that the headline is “designed to support multiple languages” but it only actually supports an obscure language…",{"value":108,"source":75,"evidence":109},"Closed-source RR backend for system languages",[110,113],{"id":111,"by":11,"text":112},"43284582","the support for system languages (the rr integration \"backend\") is currently closed source. It's not ready yet, and it might be proprietary: it would be great if we can open…",{"id":114,"by":11,"text":115},"43284901","We're working on Windows support for the scripting and blockchain languages. I am sorry if the headline felt misleading or the current support disappointing: we do have…",{"value":117,"source":75,"evidence":118},"rr-based backend will not run on macOS",[119],{"id":120,"by":121,"text":122},"43282149","elcritch","Very excited for this! I donated on open collective already. The team is full of talented people. A nice interface to time travel debugging, with Nim support soon nonetheless.…",[124,138,147,153],{"value":125,"source":75,"evidence":126},"Support for JavaScript\u002FTypeScript",[127,130,134],{"id":128,"by":79,"text":129},"43281723","The Noir support makes sense given its use in ZK proofs where execution tracing is particularly valuable, but I'm really looking forward to the Python and Ruby implementations.…",{"id":131,"by":132,"text":133},"43281236","pzo","I love it, I always wished for something like that. Will try to later test with python. Wish there was also for JS\u002FTS. As for rr debugger did it got by now any support for MacOS…",{"id":135,"by":136,"text":137},"43287578","jv22222","Would love this for JavaScript if that was even possible.",{"value":139,"source":75,"evidence":140},"Support for Android, Windows and macOS",[141,142,146],{"id":131,"by":132,"text":133},{"id":143,"by":144,"text":145},"43281143","optymizer","Is there anything out there for Android?",{"id":120,"by":121,"text":122},{"value":148,"source":75,"evidence":149},"VSCode extension",[150],{"id":151,"by":79,"text":152},"43282758","I need a VSCode extension for this. But alas, it's just sitting in their roadmap... Typical. Guess I'll have to roll up my sleeves and build one myself. Not like I have enough on…",{"value":154,"source":75,"evidence":155},"Support for Java\u002FKotlin on JVM",[156],{"id":157,"by":83,"text":158},"43282358","Any chance of something like this being available for Java\u002FKotlin on JVM?",[160,171,175],{"value":161,"source":75,"evidence":162},"How does the recording work and what are its boundaries",[163,167],{"id":164,"by":165,"text":166},"43281558","dinnertime","Congrats on your release! One question I have is, how exactly does it record and what are the boundaries of the recording? For example does it only record the userland execution…",{"id":168,"by":169,"text":170},"43286084","nextn","How does it record?",{"value":172,"source":75,"evidence":173},"Performance overhead of tracing on long-running programs",[174],{"id":128,"by":79,"text":129},{"value":176,"source":75,"evidence":177},"Trace file growth in production systems",[178],{"id":179,"by":180,"text":181},"43281126","rubenvanwyk","Looks really cool, but in production systems, won't the trace files proliferate at extreme speed? How would you correlate the files to a certain session for user identification…",[183,194,201,208],{"value":184,"source":75,"evidence":185},"Replay.io",[186,190],{"id":187,"by":188,"text":189},"43281662","vlovich123","> Wish there was also for JS\u002FTS. There’s Replay for browsers and Wallaby for Node.",{"id":191,"by":192,"text":193},"43283023","profstasiak","For frontend there is https:\u002F\u002Fwww.replay.io\u002F I loved debugging with that when I was working on react web app. Wish there was something like this for react native :(",{"value":195,"source":75,"evidence":196},"Undo (UDB)",[197],{"id":198,"by":199,"text":200},"43282498","bramhaag","https:\u002F\u002Fundo.io\u002F supports Java",{"value":202,"source":75,"evidence":203},"FlowStorm",[204],{"id":205,"by":206,"text":207},"43281812","slifin","If you are using Clojure or ClojureScript check out FlowStorm: https:\u002F\u002Fwww.flow-storm.org\u002F",{"value":209,"source":75,"evidence":210},"Ariana",[211],{"id":212,"by":213,"text":214},"43283958","anougaret","I just released a JS\u002FTS\u002FPython time travel debugger that overlays variable values on top of vscode. It's just a npm or pip install and VsCode extension so it might be easier to…",{"comments":216,"answered":31,"key":217},12,[218,221,222],{"id":219,"text":220},"43282948","We'd love additional contributors! We also have some more detailed plans for such an extension. If you're interested in chatting about it, you can join our discord[1] (or we can…",{"id":111,"text":112},{"id":223,"text":224},"43283175","Very impressive! Lisp people are always good at tooling.",{"commenters":226,"max_depth":39,"maker_replies":216,"first_comment_mins":227,"lifespan_hours":227},35,34,[229,233,237,241,244,246,248,249,250,252,254,256,258,261,264,267,270,273,277,278,280,283,286,289,293,296,298,301,302,303,305,306,308,311,313,317,321,323,325,327,330,332,334,335,338,341,343,347,349,351,353,358],[230,37,37,231,232,37],"43285001","other\u002Fneutral\u002Fidea","JoeAltmaier",[234,37,37,235,236,37],"43285577","other\u002Fneutral\u002Fnone","__init",[238,37,37,239,240,37],"43286399","commenter\u002Fneutral\u002Fnone","Veserv",[242,37,37,235,243,37],"43289422","phire",[128,33,43,245,79,37],"project\u002Fneutral\u002Fperformance",[78,33,39,247,79,37],"project\u002Fpositive\u002Fidea",[82,33,39,247,83,37],[151,33,39,247,79,37],[219,33,37,251,11,33],"maker\u002Fpositive\u002Fnone",[111,33,37,253,11,33],"project\u002Fneutral\u002Fnone",[205,255,37,235,206,37],2,[223,255,37,257,11,33],"other\u002Fpositive\u002Fnone",[259,255,37,235,260,37],"43284393","udkl",[262,43,37,235,263,37],"43281356","dloss",[265,43,37,235,266,37],"43281466","01HNNWZ0MV43FF",[268,43,37,235,269,37],"43282152","conradludgate",[271,43,37,235,272,37],"43282468","michaelsbradley",[274,18,43,275,276,37],"43283009","maker\u002Fneutral\u002Fnone","throw-the-towel",[58,18,37,275,11,33],[179,39,33,279,180,37],"project\u002Fcritical\u002Fperformance",[281,39,37,282,11,33],"43281611","project\u002Fneutral\u002Fidea",[284,39,33,285,240,37],"43286779","project\u002Fcritical\u002Fidea",[287,39,37,288,11,33],"43293309","maker\u002Fneutral\u002Fidea",[290,39,33,291,292,37],"43281613","project\u002Fcritical\u002Fdesign","kreco",[294,39,37,295,11,33],"43283139","maker\u002Fneutral\u002Fdesign",[131,297,39,247,132,37],6,[299,297,37,300,11,33],"43281406","maker\u002Fneutral\u002Fexecution",[187,297,37,235,188,37],[212,297,37,235,213,37],[104,31,33,304,105,37],"project\u002Fcritical\u002Fexecution",[114,31,37,300,11,33],[93,307,39,251,94,37],8,[309,307,37,235,310,37],"43283290","hugs",[120,32,43,312,121,37],"project\u002Fmixed\u002Fexecution",[314,315,43,282,316,37],"43296492",10,"tester756",[318,319,43,282,320,37],"43281312",11,"muizelaar",[322,319,37,295,11,33],"43282416",[86,216,39,324,87,37],"project\u002Fpositive\u002Fnone",[191,326,37,235,192,37],13,[164,328,43,329,165,37],14,"project\u002Fneutral\u002Fdesign",[331,328,37,295,11,33],"43282579",[157,333,43,253,83,37],15,[198,333,37,235,199,37],[336,333,37,337,83,37],"43285265","other\u002Fcritical\u002Fpricing",[339,333,37,235,340,37],"43283936","aoli-al",[135,342,39,247,136,37],16,[344,345,43,253,346,37],"43282311",17,"Alifatisk",[348,345,37,275,11,33],"43282501",[143,350,43,253,144,37],18,[168,352,43,329,169,37],19,[354,355,37,356,357,37],"43282495",20,"other\u002Fcritical\u002Fnone","jedisct1",[97,355,37,257,94,37],[],[361,366,371,376,380,385],{"id":362,"name":363,"points":364,"category":365},"43331582","Factorio Learning Environment",749,"ai",{"id":367,"name":368,"points":369,"category":370},"43328095","Seven39",735,"consumer_social",{"id":372,"name":373,"points":374,"category":375},"43347306","Time Portal",497,"games",{"id":377,"name":378,"points":379,"category":370},"43304785","daale.club",302,{"id":381,"name":382,"points":383,"category":384},"43333661","Pila",301,"hardware",{"id":386,"name":387,"points":388,"category":365},"43296918","rlama",295,false,"v2",{"id":392,"name":5,"line":6,"ai":389,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":393,"top":18,"kw":394,"maker":11,"domain":10,"tier":19,"attempts":37,"strip":395,"url":9,"mix":396,"praise":74,"objection":101,"sub":21},43280615,0.09,[24,25,26,27],"0003555000000301101500015033053030053330",[31,32,33,18],1793991114475]