我看了一下类似的question ,但答案以及内部的链接问题与我的确切问题不符。
假设我有几个由程序执行的Matlab文件。在执行代码期间,我在命令窗口中收到多个输出,我想要删除它。当然,我只能grep
所有disp
和printf
命令,没问题。但是,也有可能,某些计算打印出来的东西没有Matlab给我一个丢失分号的警告。一个例子是
function dummy1
norm(1)
end
哪个会将1
打印到命令窗口,但是Matlab没有给我一个丢失分号的警告,因为它会是
function dummy2
1+1
end
有没有办法检测打印到命令窗口的命令的位置?
答案 0 :(得分:0)
没有必要使它过于复杂。只需在代码中放置一些断点并逐步执行,直到找到产生不需要的输出的那些行。然后用SELECT OrderStatus, Sum_SellPrice, Sum_SellerMargin, Sum_BuyPrice, OrderDate
FROM Sum_OrderCharges
WHERE (OrderStatus IN ('Completed', 'Invoiced', 'Open'))
AND (OrderPeriodYear IN ('2015','2016'))
AND (MONTH(OrderDate) = MONTH(GETDATE()))
and (day(OrderDate) <= DAY(GETDATE()))
ORDER BY OrderDate
抑制输出。最佳做法是永远不要忽略;
。如果要快速显示内容,请使用;
之类的命令。
此外,您应该习惯通过适当的记录器记录所有内容,例如log4j。这使您可以通过简单的配置(也可以通过编程方式更改)对实际记录的内容进行细粒度控制。如果您已经使用它,那么找出哪条日志消息打印在哪里就不会有问题,因为您看到了打印它的组件名称。