簡體   English   中英

使用GDB / Eclipse進行調試時將命令行參數傳遞給進程

[英]Passing command line arguments to process when debugging with GDB/Eclipse

我正在嘗試使用Eclipse(CDT)的GDB調試過程。 我可以開始調試,踩代碼等等。 因此,基本設置似乎可行。

但是,我不明白如何將命令行參數傳遞給進程。 可執行文件不是用Eclipse構建的,我使用單獨的make文件。

我已進行調試的步驟:

  1. 運行->調試配置->選擇C / C ++附加到應用程序->新建。
  2. 按Debug->選擇進程對話框。
  3. 按new-> File Explorer打開,我可以選擇正確的可執行文件(再次:在Eclipse外部構建)
  4. 之后,執行將停止到main的開頭,並且我可以開始調試。 但是沒有命令行參數。

那么,如何在上述情況下為附加的新應用程序傳遞命令行參數?

提前致謝!

當“ c ++附加到應用程序”將調試器附加到已經運行的應用程序時,您不能期望能夠傳遞命令行參數。 您需要在啟動可執行文件的任何地方傳遞這些文件。

我認為您正在尋找普通的“ C / C ++應用程序”啟動配置。 它確實需要一個項目(如果使用的話,您可以創建一個虛擬的項目或導入實際的makefile項目)。 使用這種類型的啟動配置,您將獲得其他“參數”選項卡,您可以在其中輸入“命令行”參數。

僅供參考,如果以后有人遇到相同問題:
似乎可以通過gdb命令文件將參數傳遞給新的附加進程。 我只是將下一行附加到命令文件:

set args arg1 arg2 argX

...並在調試器選項中選擇該文件作為GDB命令行。 在過程開始時,這些參數將傳遞給main。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM