
Security News
Meet Socket at Black Hat Europe and BSides London 2025
Socket is heading to London! Stop by our booth or schedule a meeting to see what we've been working on.
A Hoe plugin to help you debug your C extensions. This plugin provides test:gdb and test:valgrind tasks (plus a few variants). As of v1.5 it also can generate a valgrind suppression from a previous test suite's log file.
See the Hoe::Debugging module for a few configuration options.
This plugin expects you to have gdb and valgrind available in your PATH.
In your Rakefile:
Hoe.plugin :debugging
Then you'll get the following rake tasks:
rake test:valgrind # debugging # Run the test suite under Valgrind
rake test:valgrind:mem # debugging # Run the test suite under Valgrind with memory-fill
rake test:valgrind:mem0 # debugging # Run the test suite under Valgrind with memory-zero
rake test:valgrind:suppression # debugging # Generate a valgrind suppression file for your test suite
rake valgrind:suppression[file] # debugging # Generate a valgrind suppression file from a previous run's log file
Run your test suite under gdb:
rake test:gdb
Run your test suite with valgrind's memcheck:
rake test:valgrind
If you have repeatable valgrind warnings that you've decided it's OK to suppress:
rake test:valgrind:suppression
rake test:valgrind # when this runs, the previous run's errors will be suppressed
If you have a log file containing hard-to-reproduce valgrind warnings (e.g., from CI) that you've decided it's OK to suppress:
rake valgrind:suppression[path/to/file]
rake test:valgrind # when this runs, the errors from that log file will be suppressed
Suppression files can be added to the suppressions subdirectory of your project.
As of v2.0.0, hoe-debugging will use all suppression files that match any part of your Ruby's version. It uses the Hoe project name and the ruby version name, with an optional trailing /_.*/.
For example, if:
myproject2.5.1.57 (the 57 is RUBY_PATCHLEVEL)then the following would be found and used:
suppressions/myproject_ruby-2.5.1.57.suppsuppressions/myproject_ruby-2.5.1.57_namespace_deref.suppsuppressions/myproject_ruby-2.5.1.suppsuppressions/myproject_ruby-2.5.suppsuppressions/myproject_ruby-2.suppsuppressions/myproject_ruby-2_exit_frees.suppand the following would not be used:
suppressions/otherproject_ruby-2.5.1.57.supp because the project name is wrongsuppressions/myproject_ruby-2.5.1.58.supp because the patchlevel is wrongsuppressions/myproject_ruby-2.5.2.supp because the patch is wrongsuppressions/myproject_ruby-2.4.supp because the minor is wrongsuppressions/myproject_ruby-1.supp because the major is wrong$ gem install hoe-debugging
You should also use your distro's package manager to install gdb and valgrind.
MIT. See LICENSE file in this repository.
FAQs
Unknown package
We found that hoe-debugging demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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.

Security News
Socket is heading to London! Stop by our booth or schedule a meeting to see what we've been working on.

Security News
OWASP’s 2025 Top 10 introduces Software Supply Chain Failures as a new category, reflecting rising concern over dependency and build system risks.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.