⚝
One Hat Cyber Team
⚝
Your IP:
18.191.223.195
Server IP:
162.254.39.145
Server:
Linux premium289.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
Server Software:
LiteSpeed
PHP Version:
8.2.28
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
opt
/
alt
/
ruby33
/
share
/
ruby
/
objspace
/
View File Name :
trace.rb
# This is a simple tool to enable the object allocation tracer. # When you have an object of unknown provenance, you can use this # to investigate where the object in question is created. # # = Important notice # # This is only for debugging purpose. Do not use this in production. # Require'ing this file immediately starts tracing the object allocation, # which brings a large performance overhead. # # = Usage # # 1. Add `require "objspace/trace"` into your code (or add `-robjspace/trace` into the command line) # 2. `p obj` will show the allocation site of `obj` # # Note: This redefines `Kernel#p` method, but not `Object#inspect`. # # = Examples # # 1: require "objspace/trace" # 2: # 3: obj = "str" # 4: # 5: p obj #=> "str" @ test.rb:3 require 'objspace.so' module Kernel remove_method :p define_method(:p) do |*objs| objs.each do |obj| file = ObjectSpace.allocation_sourcefile(obj) line = ObjectSpace.allocation_sourceline(obj) if file puts "#{ obj.inspect } @ #{ file }:#{ line }" else puts obj.inspect end end end end ObjectSpace.trace_object_allocations_start warn "objspace/trace is enabled"