
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
The tdbg
debugger is a powerful terminal-based interface for debugging
applications using the Debug Anything Protocol. It allows developers to
connect to a running application via a WebSocket connection and provides tools
to monitor and control the execution flow of the application.
tdbg
is run from the terminal and does not require installation. Simply
ensure that the executable is in your path or run it from the location where it
is stored.
To start debugging with tdbg
, you will need the WebSocket URL of the running
application and a registration code if required.
Usage: tdbg [options] [wsurl]
Arguments:
wsurl WebSocket URL (default: "ws://127.0.0.1:6400")
Options:
-r, --registration_code <type> Registration code to connect to the debugger server
-n, --name <session-name> Name for this session
-l, --log_activity Log all DAP messages to the debug log
If your application requires a registration code, be sure to add it to the command line.
If you set the TDBG_DEBUG_FILE
prior to launching tdbg, it will log it's internal
activity to the file you provide, this can be helpful when debugging the interaction
with a new service.
When you launch tdbg
, you will be greeted by the following panes:
Ctrl+A
, Ctrl+E
).Up Arrow
and Down Arrow
to scroll through command history.Tab
to cycle between the different panes.Enter
to open them in the data explorer.f
in the data explorer window to toggle between normal and flattened JSON display.In tdbg
, a context represents a unique execution environment or thread
within your application. It encapsulates the state of the application at a
specific point in time, including variables, the call stack, and the command
that's currently executing. Managing contexts is crucial for debugging complex
applications where multiple threads or tasks may be operating concurrently.
Each context is isolated; when you switch contexts, tdbg
updates to show the
state of the newly selected context. This allows you to focus on and step
through the execution of discrete sections of your code, providing a powerful
tool to pinpoint and resolve issues effectively.
connect [url] [registration_code]
Connect to the debugger. Defaults are used if not provided.
reconnect
Reconnect to the last debugger.
disconnect
Disconnect from the current debugger.
watch expression
Display the value of an expression in the watch area.
unwatch expression
Remove an expression from the watch area.
pause
Pause the current or next running context if none is active.
resume
Resume execution in the current context.
view expression
Output the value of an expression in the console. Shortcut: v
explore expression
Open an expression in the data explorer. Shortcut: x
select
Select the context to debug from available options.
next
Move one step forward in execution. Shortcut: n
help
Show help information.
quit
Quit the debugger.
To display a list of available commands and their descriptions, type help
in the command input area.
A typical debugging session with tdbg
allows you to interactively step
through the execution of your application, inspect variables, and control the
execution flow. Here's how a basic session unfolds:
tdbg
it will connect to the server to debug.pause
command, which tells the server to stop at the next
possible breakpoint for any new job that is started. This may create a new
execution context.tdbg
will log a message indicating that new contexts are available.select
command to view and choose from the available contexts. Choosing a context will load its current state into the debugger.next
command. This steps through the execution flow one step at a time.view
or explore
command with the
variable's name, prefixed by a dollar sign (e.g., $person
for a variable
named person
).strftime("%F", $date)
could be used to format a date.watch
command, which will display its value in the watch area.resume
command to allow the remote system to continue execution.
The system may either run to completion or stop at the next developer-defined
pause point.quit
command.Using the pause
, next
, explore
, and watch
commands in tandem allows you
to conduct a thorough inspection of how a process operates, offering you the
granularity needed to diagnose and fix issues effectively.
FAQs
Simple Curses-based Terminal Debugger
The npm package tdbg receives a total of 1 weekly downloads. As such, tdbg popularity was classified as not popular.
We found that tdbg demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.