Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

-n and -e cannot be used together #963

Open
tonytonyjan opened this issue Apr 14, 2023 · 1 comment
Open

-n and -e cannot be used together #963

tonytonyjan opened this issue Apr 14, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@tonytonyjan
Copy link

Your environment

λ ruby -v 
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-darwin22]
λ rdbg -v
rdbg 1.7.1

Describe the bug

I was trying to execute some command with -c and specify a break point using -e so that I don't need to write the script in the rdbg again.
It works but I still need to manually run continue, to avoid this, I thought -n could help. However, after some tests I turns out -n and -e cannot be used together.

My current workaround is to put continue in -e:

rdbg -c -e 'b OpenStruct#initialize'$'\n''continue' -- ruby -rostruct -e 'OpenStruct.new'

To Reproduce

rdbg -n -c -e 'b OpenStruct#initialize' -- ruby -rostruct -e 'OpenStruct.new'

Expected behavior

process won't exit and attached rdbg shell on OpenStruct#initialize, output should look like:

[122, 131] in /usr/local/Cellar/ruby/3.2.2/lib/ruby/3.2.0/ostruct.rb
   122|   #   data = OpenStruct.new(hash)
   123|   #
   124|   #   data   # => #<OpenStruct country="Australia", capital="Canberra">
   125|   #
   126|   def initialize(hash=nil)
=> 127|     if hash
   128|       update_to_values!(hash)
   129|     else
   130|       @table = {}
   131|     end
=>#0    OpenStruct#initialize(hash=nil) at /usr/local/Cellar/ruby/3.2.2/lib/ruby/3.2.0/ostruct.rb:127
  #1    [C] Class#new at -e:1
  # and 1 frames (use `bt' command for all frames)

Stop by #0  BP - Method  OpenStruct#initialize at /usr/local/Cellar/ruby/3.2.2/lib/ruby/3.2.0/ostruct.rb:126

Additional context

process exists and prints nothing.

@ko1
Copy link
Collaborator

ko1 commented May 4, 2023

The current -e command feature is not run the command at the beginning, but run the command at the first pausing.
So the current behavior is intentional.

I agree that the current semantics is not easy... Maybe you expect that it is written in ~/.rdbg.
Introduce new option for that?

@ko1 ko1 added the enhancement New feature or request label May 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

No branches or pull requests

2 participants