我正在使用lldb作为OSX中的独立调试器。我正在尝试使用文本文件作为输入来调试C可执行文件。 lldb文档指定了以下用于将stdin更改为给定文件的命令:
process launch -i <file>
使用此命令,lldb似乎忽略指定的文件,而是等待键盘输入。
这是预期的行为吗?如果是这样;我需要做些什么来实际操作我想要的输入文件?
tl;博士:我如何让lldb模仿标准终端执行,如:
./executable < <file>
答案 0 :(得分:19)
我按照以下方式开展工作:
An error occurred: http://#cgi.server_name##cgi.script_name#?#cgi.query_string#<br />
Time: #dateFormat(now(), "short")# #timeFormat(now(), "short")#<br />
<!--- Smarter error catching for form fields --->
<cfif (error.message contains "Invalid data '' for CFSQLTYPE CF_SQL_INTEGER") and isdefined("form")>
<!--- This stores a list of the Id fields --->
<cfloop collection="#form#" item="thisField">
<!--- Get the last two characters of the field name --->
<cfset lastTwoChars = right(thisField, 2)>
<!--- Get the value of the field --->
<cfset thisFieldValue = evaluate('form.#thisField#')>
<!--- Check to see if this is an Id field and if it's value is blank. --->
<cfif lastTwoChars eq 'Id' and thisFieldValue eq ''>
<h3 style="font-weight: bold; color: red">#thisField# is blank and it's possibly an integer field.</h3>
</cfif>
</cfloop>
</cfif>
<cfdump var="#error#" label="Error">
<br/>
<cfdump var="#form#" label="Form">
<br/>
<cfdump var="#url#" label="URL">
<br/>
<cfdump var="#session#" label="session">
它解决了我的问题,但我真的没有解释为什么我的问题中的方法不能工作。
答案 1 :(得分:0)
我已经晚了几年,但是,如果有人在这里找到自己的方式,以下内容将有所帮助: This website包含lldb可以执行与gdb相同的所有多种方式。当然,如果您不关心gdb,则始终可以单独使用lldb命令列表。 要更具体地回答该问题,并且在上面链接的网站上也进行了重复,您可以执行以下操作来运行带有参数的可执行文件:
lldb <executable>
(lldb) process launch -- <whatever your args may be e.g. a file path>
或
(lldb) run <args>
或者只是
(lldb) r <args>