- 博客(4)
- 收藏
- 关注
原创 Erlang调试器
在这些情况下,你需要的是良好的日志,这类问题要么无法在图形调试器里重现,要么由于时序的变化而导致线索尽失。双击进程打开窗口,就可以与这个进程进行交互。当前变量的值显示于窗口右下角,单击列表中的变量,完整的值将显示于左下角。这里涉及两部分内容:调试器既需要.erl源文件(这样它才能显示源码),也需要对应的包含调试信息的.beam文件。调试器窗口,其中显示的是连接到调试器上的某个进程当前的代码位置。图形化的源码级调试器仍然是至关重要的开发工具之一,不过跟其他语言相比,开发Erlang程序时很少会用到调试器。
2023-08-03 22:18:14
271
原创 【5】Mnesia(二)
Mnesia采用一种悲观锁定(pessimistic locking)的策略。每当Mnesia事务管理器访问一个表时,都会根据上下文情况尝试锁定记录甚至整个表。如果因为其他进程正在访问数据而导致事务一开始就失败了,系统就会进行短时间的等待,然后再次尝试执行事务。这么做的一种结果就是事务fun里的代码可能会被执行很多次。所以事务fun里的代码不应该做任何带有副作用的事情,比如io输出。
2023-07-31 21:05:34
79
1
原创 【2】文件编程(二)、套接字编程
Args里的每一项都必须对应格式字符串里的某个格式命令。格式命令以一个波浪字符(~)开头。io:format承担了创建格式化输出的重任。要生成格式化输出,我们会做以下调用。在刚才有内容的文件中写入:第一次写会清除原文件中所有内容(试出来是这样)I/O列表在输出时会被自动“扁平化”,意思是所有的列表括号都会被移除。I/O列表是一个元素为I/O列表、二进制型或0到255整数的列表。会把IO里的数据(一个I/O列表)写入File。用来生成一个Dir里的文件列表。得到文件test.dat。
2023-07-10 21:10:57
119
1
原创 【1】Erlang Shell 、文件编程(一)
首先用file:open打开文件,然后用io:read逐个读取数据类型,直到文件末尾,最后再用file:close关闭文件。每个进程代表一个持续的活动,它是某段程序代码的执行代理,与其他各自执行自身代码的进程一起并发执行。有一些操作已打开文件的方法,能够解析文件里的数据,或者把格式化数据写入文件。能够以跨平台的方式操作文件名,在许多不同的操作系统上运行相同的代码。file的扩展,包含的许多工具函数能够列出文件、检查文件类型等等。包含打开、关闭、读取和写入文件的方法、列出目录等等。
2023-07-06 22:31:01
256
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人