Project

General

Profile

Feature #9162

Read/Write operations in Tracepoint

Added by davidann (David Weiser) almost 7 years ago. Updated almost 7 years ago.

Status:
Rejected
Priority:
Normal
Target version:
-
[ruby-core:58609]

Description

Is there a way to access when variables are read/assigned in Tracepoint? Specifically, I'm interested in creating a tool which does dynamic, threading analysis of Ruby code to find atomicity violations, dead-locks and race conditions. However, to do so would require the ability to know when a variable is written to, or read from, and the thread in which the operation happened.

I looked in vm_trace.c and did not find the events that would be needed to do this type of analysis.

Can I use Tracepoint to get this information? Or should I use some other approach?

Updated by nobu (Nobuyoshi Nakada) almost 7 years ago

  • Category set to core
  • Status changed from Open to Assigned
  • Assignee set to ko1 (Koichi Sasada)

Updated by ko1 (Koichi Sasada) almost 7 years ago

  • Status changed from Assigned to Rejected

Is there a way to access when variables are read/assigned in Tracepoint?

No. I reject this approach because of performance (without enabling these trace).
But there is no proof of my assumption. Please try and measure.

Or should I use some other approach?

I planned dynamic instrumentation.
But there is still C-extension problem.

Also available in: Atom PDF