2015-07-28 13 views
11

Desidero utilizzare il metodo di debug per eseguire il debug dell'applicazione ma l'app non si arresta mai, anche se ho già inserito byebug all'interno del mio codice. Ecco il mio Gemfile.Rails Byebug non ha interrotto l'applicazione

group :development, :test do 
    # Call 'byebug' anywhere in the code to stop execution and get a debugger console 

    gem 'byebug', '~> 5.0.0' 

    # Access an IRB console on exception pages or by using <%= console %> in views 
    gem 'web-console', '~> 2.0' 

end 

Ho inserito byebug in uno dei miei controller.

def edit 
    byebug 
    present Ingredient::Update 
end 

Ho già fatto tutta la mia richiesta locale nella mia development.rb. Ho già riavviato il server un paio di volte.

config.consider_all_requests_local  = true 

Ecco la traccia esempio stack che byebug stampare solo la prima traccia e poi l'applicazione continua ad andare in esecuzione della riga successiva.

web_1 | [43, 52] in /recipe/app/controllers/ingredients_controller.rb 
web_1 | 43: def update 
web_1 | 44:  run Ingredient::Update do |op| 
web_1 | 45:  return redirect_to op.model 
web_1 | 46:  end 
web_1 | 47:  byebug 
web_1 | => 48:  render action: :edit 
web_1 | 49: end 
web_1 | 50: 
web_1 | 51: # DELETE /ingredients/1 
web_1 | 52: # DELETE /ingredients/1.json 
web_1 | (byebug) Rendered ingredients/edit.haml within layouts/application (264.1ms) 
web_1 | Rendered layouts/_navigation.haml (45.0ms) 
web_1 | Completed 200 OK in 2827ms (Views: 2764.0ms | ActiveRecord: 3.9ms) 
web_1 | 
web_1 | 
web_1 | Started GET "/assets/application.self-1ca8529ef221ef9dba25e835f258c4e62f2f49bce400273a67e63d7d73be28ba.css?body=1" for 192.168.59.3 at 2015-07-28 06:46:00 +0000 

Qualche idea? Aggiornamento Uso la finestra mobile e la finestra mobile nella mia app Rails.

+0

Basta riavviare il server e controllare. – Deep

+0

Riavviare il server applicazioni – RAJ

+0

Sì, riavvio il server un paio di volte –

risposta

38

Quando si utilizza docker-compose in combinazione con byebug, è necessario aggiungerlo per farlo funzionare correttamente. Trovato in this blog post

Aggiungi questo a finestra mobile-compose.yml

web: 
    ... 
    stdin_open: true 
    tty: true 

Quindi eseguire finestra mobile-comporre in modalità deamonized e allegare al contenitore web con finestra mobile:

docker-compose up -d 
docker attach myappname_web_1 
+0

Si noti che non è necessario eseguire i servizi in modalità indipendente. Inoltre, quando si collega al contenitore, apparirà come se fosse appeso, ma non appena l'app del contenitore riceve una richiesta, vedrai l'output del logger. –

+0

Non utilizzare la finestra mobile collegare myappname_web_1. Esegui invece "contenitore docker ls" per avviare i contenitori, quindi trova l'id di quello su cui stai lavorando. Quindi, esegui semplicemente: "docker attach container_id" – george

0

Per attivare la modalità di debug :

finestra mobile-composizione conduzione --service bipoli web

Vedere questo blog post

Problemi correlati