问题标签 [printf-debugging]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
debugging - 如何在 VBSCRIPT 中提取相当于 __LINE__、__FILE__ 等的上下文信息
我想知道如何在 __LINE__ 之类的代码处以编程方式获取 vbscript 中一行的行号,或者更理想的是一种获取当前函数被调用的行号的方法,例如 python 的堆栈模块,所以我可以编写一个可重用的调试函数(以及代码所在的文件),不,我不想知道如何在我的编辑器中打开行号。
我现在还想提取任何类似的有用信息,例如调用函数、变量类型为字符串等。
c - printf debugging to trace a function
I'm trying to port software to a microcontroller (so I can't step through the code with e.g. gdb) and it crashes unpleasantly.
To identify the reason for this, I want to insert a printf()
before every statement, echoing said statement, e.g.
Would become
Is there already some script to do this?
c - printf 不工作和其他问题
我终于让我的更改程序打印出一些数字而不是抛出浮点异常。然而,现在它稍微偏离了。该程序没有给出 2 个四分之一、1 个硬币、1 个镍和 2 个便士,而是只选择了 1 个便士,我无法通过对代码的条件或结构的任何检查来找出原因。我在每个 if 语句中添加了一些检查,但甚至没有打印出来,我现在非常困惑..
reference - Undefined reference in Kdevelop
I have main.cpp, linking test function from io.c
io.c:
and I configure CMakeLists.txt as following:
However, when I build a project, the error of undefined reference appears. Please help me.
PS: If main.cpp references to 2 libraries such as l1.h and l2.h. How to link these to main.cpp?
c - 为 msvc 或替代解决方法模拟 __typeof__ 的最佳方法?
我有一些代码
我需要一个指针x
,DEBUG_PRINT
其中可能是变量或表达式。为了支持表达式,我将它分配给一个临时的,然后取它的地址。我可以模拟__typeof__
一_Generic
组有限的类型,但用户需要在 2 个地方为自定义类型添加行。有没有其他方法可以做到这一点?我可以只支持最新的 Microsoft C 编译器。
c - 如何将应用程序 printf 消息传递到 /var/log/messages
我想将应用程序 printf 日志消息传递到 /var/log/messages。因为 /var/log/messages 可以看到内核调试消息。但是我不知道如何将应用程序 printf 日志消息传递到 /var/log/messages。谁能建议我如何做到这一点。
c - 如何使用 printf 在 C 中打印括号?
我正在尝试使用以下方法打印括号: printf("\)"); 但是,它给了我以下警告:警告:未知转义序列 '\)'
我似乎无法在任何地方找到有关如何解决此问题的明确解释。我意识到这只是一个警告,但由于它仍然将其视为括号,它会丢弃我所有的其他括号并给我错误,因此代码无法编译。
编辑:将其视为常规字符并仅说 printf(")") 不起作用。它仍然与所有括号不匹配,我已经多次检查以确保我实际上没有遗漏任何括号。
c - 打印成功后 printf 崩溃
语言是 C。我有一个 char* 类型数组(char *array[] / char** 数组)作为函数参数,我想将它们全部打印到单独的行中,如下所示:
现在由于某种原因,使用某个输入,它设法打印所有值,但在打印最后一个 *array 后立即崩溃。所以在最后一次 printf 之后,它不再打印“最后一次打印之后”。不幸的是,我在 Windows 7 上支持 netbeans C,没有 gdb。当我尝试将它安装到 netbeans 时出现了一些问题,但那是另一回事了。
首先,这可能是什么原因造成的?其次,如果没有 gdb,我怎么能尝试最好地调试这种行为?如果有人提供了一个可以帮助我调试问题并以这种方式解决问题的答案,那么我也会从中获得积分。与导致崩溃的函数参数相关的一些背景信息:我使用 strtok 从 char* 字符串生成 char** arr,其中空格用作分隔符。
编辑:
更多信息:如果我在同一个函数中尝试 printf 最后一个 *array,它工作正常,程序正常继续。所以这有效:
在我的测试用例中,NULL 之前的最后一个索引恰好是 4。但是当同样的事情在循环内完成时,它确实设法打印它,但之后立即崩溃,不再打印第二行。
bash - Ubuntu (14 & 16) 来自包含小写“n”字符的输入的 printf 循环的 Bash 错误
我有一些 bash 脚本已经在 Ubuntu 14.04 和 16.04 上运行了一年多。最近的一些 Ubuntu 更新破坏了 bash,我不知道如何解决这个问题。
例子:
然后我的脚本循环执行 printf 语句的文件,如下所示,但这是产生的输出
myinput.txt 的示例内容
包含小写 n 字符的输入行被删除??我是否错过了 bash 发生的一些重大变化,这在一周前开始发生,现在让我发疯。
我尝试将 #!/bin/bash 更改为 #!/bin/sh 并得到相同的结果。
还尝试了这种循环输入文件的方法,仍然得到相同的结果。
尝试使用回声从评论中提出建议
现在我得到这个输出
运行 hexdump -C myinput.txt 给出这个输出
还按照迈克尔的建议将所有变量名称更改为小写,但仍然得到相同的结果。
解决方案 谜团解开了
感谢大家,但https://stackoverflow.com/users/96588/l0b0把它钉在了头上。IFS=$'\n'
我早些时候在我的剧本中有一个隐藏。
多亏了 Nahuel 和 Charles 的建议,我现在有了最终的、更好和更安全的 printf 格式,它正在 100% 工作……非常感谢你们。
string - 使用 MATLAB 的 fprintf 函数在保留格式的同时忽略特殊字符
我在 matlab 脚本中有一个名为“dataString”的字符串数组,它是使用 fileread() 从 html 文档复制到 MATLAB 中的。然后我剪下我想要的部分并将其存储在 dataString 中。
然后过滤其内容,使其不包含 html 代码,但除了字母之外,它仍然可以包含特殊字符和数字。下面的 dataString 内容的解决方案应该足以解决我要解决的问题的一般情况。dataString 中包含各种字符和数字,并且在文本中具有特定点,在 MATLAB 中打印时可以看到回车符。如果我让 matlab 在命令行窗口中打印它,它会像这样格式化自己:
dataString =
'This is where the body of dataString goes.
There are not the same number of characters on
every line. Notice that MATLAB knows that there are
carriage returns interspersed throughout this text and
formats the output appropriately.
There are also numbers and other
types of characters in this array like 12, and %2
(m) %Z --- . When asked to print to the command window, MATLAB
treats all the contents of dataString as I want it to.
These contents need to be considered as generic as possible.
'
我希望能够使用 fopen、fprintf 和 fclose 获取 dataString 的内容并将它们放入文本文件“genericTextFileName.txt”中,当我在 MATLAB 中打印 dataString 时,每行打印出的字符相同也打印在文本文件中的后续行。当我执行以下操作时:
dataString 像这样打印到文本文件中:
dataString =
'This is where the body of dataString goes. There are not the same number of characters on every line. Notice that MATLAB knows that there are carriage returns interspersed throughout this text and formats the output appropriately. There are also numbers and other types of characters in this array like 12, and %2 (m) %Z --- . When asked to print to the command window, MATLAB treats all the contents of dataString as I want it to. These contents need to be considered as generic as possible.'
基本上,dataString 中存在的所有新行或回车格式都会丢失。删除 '%s' 并没有帮助,因为 fprintf 然后认为 '%' 是一个特殊字符,我不能让它这样做,因为它会删除第一个 '%' 之后的所有内容。我需要这种格式存在于文本文件中。在阅读了人们对 fprintf 和函数本身的文档的许多其他相关问题之后,我找不到我的问题的答案。我怎样才能做到这一点?