我(我认为)在我的代码中遇到了一个非常棘手的问题.它在代码中的不同位置随机崩溃.该项目是一个ARC项目.
所以我的程序偶尔崩溃了这条消息:
malloc: *** error for object 0xd2dd8b0: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
Run Code Online (Sandbox Code Playgroud)
我已经设置了一个断点,malloc_error_break但我没有得到任何信息.当代码崩溃时,XCode会向我显示代码所在的位置.但正如我已经说过的那样,崩溃是随机的,不会一直发生.但似乎崩溃集中在代码中的特定行.
现在,我想使用xcode附带的仪器进行调试.经过一段谷歌搜索后,我在stackoverflow上发现了以下内容:如何在Xcode 4中设置NSZombieEnabled?和Xcode malloc错误.
因此,第一个链接描述了如何通过单击xcode中的运行按钮从xcode本身开始进行僵尸检测并选择"Profile".我遇到的问题是,在我的xcode版本(4.2)中选择跟踪文档的模板时,我找不到"Zombies".但是如果我在xcode之外启动Instruments(例如来自finder),我可以选择僵尸.
好的,这就是我做的:
1)从finder启动Instruments并选择Profile"Zombies".
2)在iphone模拟器中从xcode启动iphone应用程序(正常运行(不是配置文件或调试)).
3)在仪器"选择目标" - >"附加到过程" - >"iPhone模拟器(57529)".
4)乐器开始重新录制(我无法弄清楚它的作用).
5)开始玩应用程序直到它崩溃.
最终应用程序崩溃,这是崩溃应用程序后的仪器截图:

我的问题:
1)僵尸是否足以解决我的问题,还是应该使用其他分析工具?
2)什么告诉我撞击后输出的乐器?
在像java这样的常见编程语言中,每个文件通常对应一个类.
我刚刚开始使用R.我想构建一个小程序,我想创建一个像这样的特定文件和目录结构
Run Code Online (Sandbox Code Playgroud)Main.R # the main control script MyClass.R # A class that is referenced from within Main.R ProcessData.R # Another class that uses an object of MyClass.R as input
所以我想做这样的事情(伪代码):
Main.R
Run Code Online (Sandbox Code Playgroud)myc <- new MyClass # create a new instance of MyClass from within Main.R pd <- new ProcessData pd$processMyClass( myc ) # call a method in ProcessData that processes the myc object in some way
所以这是相当抽象的,但我只想知道这在原则上是否可能在R中.
更新:我需要更具体.因此问题是:如何通过保持以下玩具程序的相同数量的文件和结构将以下java程序转换为R程序?
Main.java:
public static void main( String[] args ) {
MyClass myc …Run Code Online (Sandbox Code Playgroud) 我需要下载以下网页:http://m.10bet.com/#leage_panel#10096
这是一个体育博彩页面,我需要报价.所以,首先这看起来很简单.但是,这是发生的事情(您可以使用例如浏览器的开发人员工具来检查):
相反,我需要使用能够评估javascript的无头浏览器.HtmlUnit for java是不够的,因为它不提供强大的javascript功能.因此,PhantomJS与CasperJS的结合是我目前的选择.我使用以下脚本应用CasperJS:
var casper = require('casper').create();
casper.start('http://m.10bet.com/#leage_panel#10096', function() {
var url = 'http://m.10bet.com/#leage_panel#10096';
this.download(url, '10bet.html');
});
casper.run(function() {
this.echo('Done.').exit();
});
Run Code Online (Sandbox Code Playgroud)
但是,此脚本不会加载整个页面.只是初始页面.如何加载浏览器中显示的完整网页?
当我尝试启动演示jsvc实现时,我得到jsvc的以下错误输出:
jsvc -cp ApacheDeamonDemo.jar -pidfile /mypath/pid.txt -outfile /mypath/log.txt -errfile /mypath/err.log net.example.deamon.DemoDeamon
Run Code Online (Sandbox Code Playgroud)
我得到以下错误输出:
Cannot find any VM in Java Home /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home
Cannot locate JVM library file
Service exit with a return value of 1
Run Code Online (Sandbox Code Playgroud)
实际上道路是正确的.因此我不明白为什么jsvc告诉我这个.我正在使用mac.
我需要在我的应用程序内调用一个网站,而该网站无法由android随附的本机webview正确显示。
我已经在网上搜索了一些答案,但除此以外,我确实发现了很多东西。是否有Webview的替代品?。
就像上面的帖子中建议的那样,我已经测试了人行横道。但是,人行横道有很多缺点:
因此,我实际上是在拼命地寻找替代方案,但找不到任何替代方案。
有人知道可以进行生产工作的Webview吗?那对我有很大帮助。
编辑:
我必须添加webView.getSettings().setDomStorageEnabled(true);才能使网站正常工作。
在我的Tomcat 8服务器上,我正在使用websocket与我的android应用程序通信。但是,在日志中,我偶尔会看到以下我不理解的异常:
27-Oct-2015 21:57:48.451 SEVERE [http-nio-80-exec-7] org.apache.tomcat.websocket.pojo.PojoEndpointBase.onError No error handling configured for [api.mobile.websocket.WebSocket] and the following error occurred
java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:65)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:124)
at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:183)
at org.apache.coyote.http11.upgrade.NioServletOutputStream.doWriteInternal(NioServletOutputStream.java:94)
at org.apache.coyote.http11.upgrade.NioServletOutputStream.doWrite(NioServletOutputStream.java:61)
at org.apache.coyote.http11.upgrade.AbstractServletOutputStream.writeInternal(AbstractServletOutputStream.java:165)
at org.apache.coyote.http11.upgrade.AbstractServletOutputStream.onWritePossible(AbstractServletOutputStream.java:195)
at org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(AbstractProcessor.java:98)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1452)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
27-Oct-2015 21:57:48.453 SEVERE [http-nio-80-exec-8] org.apache.tomcat.websocket.pojo.PojoEndpointBase.onError No error handling configured for [api.mobile.websocket.WebSocket] and the following error occurred
java.nio.channels.ClosedChannelException
at sun.nio.ch.SocketChannelImpl.ensureReadOpen(SocketChannelImpl.java:257)
at …Run Code Online (Sandbox Code Playgroud) 我使用java 11.0.4 2019-07-16 LTS的Ubunutu 18和Apache Tomcat 8.5。
我创建了一个用于发送导入电子邮件的类
import javax.mail.*;
import javax.mail.internet.*;
Run Code Online (Sandbox Code Playgroud)
现在,当我使用时java 8,发送电子邮件没有任何问题。但是,现在它不起作用,而是出现 500 错误。
看看我的localhost.2019-08-20.log我可以找到以下堆栈跟踪:
20-Aug-2019 17:13:14.961 SEVERE [http-nio-80-exec-96] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [mlc.servlets.DispatcherServlet] in context with path [] threw exception [Servlet execution threw an exception] with root cause
java.lang.ClassNotFoundException: javax.activation.DataHandler
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1360)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1182)
at mlc.Mailer.sendEMail(Mailer.java:35)
...and so on...
Run Code Online (Sandbox Code Playgroud)
做一些研究我认为问题是模块java.activation没有加载。
但是,我没有在互联网上找到任何解决方案。我只发现它java.activation已从 java 11 中删除。所以,我想我需要别的东西。
所以,我的问题是:我必须做什么才能让我的 web 应用程序再次使用 Tomcat 8.5 发送电子邮件?
谢谢
我想可视化我的神经网络。因此,我from tensorflow.keras.utils import plot_model像这样使用和使用它:
model = Sequential()
model.add(Dense(8, activation="relu"))
model.add(Dense(1))
plot_model(model, to_file="model.png", show_shapes=True)
Run Code Online (Sandbox Code Playgroud)
但是,当我打开图形时,它看起来像这样:
我的代码有什么问题?我没有看到任何错误。
在我的代码中,我广泛使用正则表达式,我的模式看起来像这样
regexp = [[NSRegularExpression alloc] initWithPattern:@".*?\\\+.*?\\\+.*?\\\+.*?\\\+.*?\\\+.*?\\\+" options:0 error:nil];
Run Code Online (Sandbox Code Playgroud)
对于转义序列,我得到编译器警告,例如"Unknown escape sequence +",这非常烦人,因为在我的情况下没有错.我怎么能摆脱这个警告?
看看下面的代码:
DefaultHttpClient http = new DefaultHttpClient();
http.getCredentialsProvider().setCredentials(
new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT),
new UsernamePasswordCredentials(
Configuration.username,
Configuration.developerKey ) );
HttpPost post = new HttpPost(strURL);
StringEntity entity = new StringEntity( ac.toXMLString() );
entity.setContentType("text/xml");
post.setEntity( entity );
org.apache.http.HttpResponse response = http.execute( post );
Run Code Online (Sandbox Code Playgroud)
它不会产生任何错误.但是来自服务器的响应我得到"No Authorization header".使用Wireshark检查请求表明确实没有基本的身份验证集.
怎么可能?
tomcat ×2
xcode ×2
ajax ×1
android ×1
casperjs ×1
class ×1
daemon ×1
escaping ×1
exception ×1
httpclient ×1
instruments ×1
jakarta-mail ×1
java ×1
java-11 ×1
jsvc ×1
jvm ×1
keras ×1
nszombie ×1
plot ×1
pseudocode ×1
r ×1
tensorflow ×1
warnings ×1
web-scraping ×1
websocket ×1
webview ×1