layout: post
title: xtx第13周开发日志
categories: 日志
tags:
- 日志
- 2020日志
BGImage: 'https://cdn.jsdelivr.net/gh/xutongxin1/xutongxin1.github.io@d65706f589a6ace903309ed982a3058a2b3251e3/asset/%E6%97%A5%E5%BF%97/20201211144323.png'
jekyll-theme-WuK:
musicid: '28561009'
第13周开发日志
11.30-12.2
还是RGB灯的调试
为了实现呼吸灯和顺滑变换继续下功夫中
老实说简单的东西不易做
然后是测试树莓派
树莓派需要在图形化界面下初始化,可以用VNC
然后MobaXterm神奇的不支持我的VNC,最后用了VNC Viewer
为了在没屏幕下使用ssh和wifi,需要在boot盘下创建ssh(小写无后缀)文件和wpa_supplicant.conf
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="xtx"
psk="wifi密码"
key_mgmt=WPA-PSK
priority=1
}
树莓派在没初始化之前,每开一次机都会把ssh文件删除,直到你初始化那一次就不会删了
树莓派的wifi的ip老是跳,就给它静态了吧
树莓派ssh默认用户名和密码是:
- 用户名:
pi
- 密码:
raspberry
今天无意间撇到一眼一个文章标题
一开始以为是什么标题党水文,后来·····
要在后台运行终端命令,请按:
CTRL+Z:暂停应用程序
fg:返回到应用程序
确实挺好
12.3
今天开始测试SnowBoy
虽然这个项目就要关门了(而且我还发现百度是他的老板)
Traceback (most recent call last):
File "demo.py", line 33, in <module>
sleep_time=0.03)
File "/home/pi/snowboy/examples/Python3/snowboydecoder.py", line 176, in start
stream_callback=audio_callback)
File "/usr/lib/python3/dist-packages/pyaudio.py", line 750, in open
stream = Stream(self, *args, **kwargs)
File "/usr/lib/python3/dist-packages/pyaudio.py", line 441, in __init__
self._stream = pa.open(**arguments)
OSError: [Errno -9997] Invalid sample rate
查了一吨怪资料,才意识到自己就是没看英文
就最后一段英文重要你这都不看?????!!!!
采样率过高了,得降低采样,还得再研究一下
12.4
重新学了一下Jetsbrain类软件调试功能的妙用
https://www.cnblogs.com/chiangchou/p/idea-debug.html
步过,步入,强制步入的区别
> Step Over (F8):步过,一行一行地往下走,如果这一行上有方法不会进入方法。
> Step Into (F7):步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法,如第25行的put方法。
> Force Step Into (Alt + Shift + F7):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。
然后发现一些独特功能
IDEA给JAVA专用的
> Drop Frame (默认无):回退断点,和jvm出栈有关
Update 'tech' application (Ctrl + F5):更新程序,一般在你的代码有改动后可执行这个功能。而这个功能对应的操作则是在服务配置里
然后是智能步入
想想,一行代码里有好几个方法,怎么只选择某一个方法进入。之前提到过使用Step Into (Alt + F7) 或者 Force Step Into (Alt + Shift + F7)进入到方法内部,但这两个操作会根据方法调用顺序依次进入,这比较麻烦。
那么智能步入就很方便了,智能步入,这个功能在Run里可以看到,Smart Step Into (Shift + F7)
通过设置断点条件,在满足条件时,才停在断点处,否则直接运行。
通常,当我们在遍历一个比较大的集合或数组时,在循环内设置了一个断点,难道我们要一个一个去看变量的值?那肯定很累,说不定你还错过这个值得重新来一次。
在断点上右键直接设置当前断点的条件,设置exist为true时断点才生效。
调试步过到死的人的福音
VMWare WorkStation Pro 16.0不再支持开启虚拟机共享
然后16.1又被暂时加回来
但是预计还是要没了
所以建议不要装16.0,装了也可以升级到16.1,但不要再升级了
许可证的话16.0的密钥整个16.X版本都可以用的
12.5
都是升级的锅
Clion从2020.2.3到了2020.3
然后配置文件就翻车了
更新之后的
那个执行前的构建直接没了
一直调试无果,人都傻了
其次是
不要开着Proxifier玩MobaXterm
否则你会见到端口扫描结果全开
ssh完全连不上的尴尬
然后是冷门生僻的东西
CMAKE_BUILD_TYPE
指定编译调试版本或者发布版本,可以在Cmakelist中更改不同版本对应的编译策略
比如
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
message(STATUS "Maximum optimization for speed")
add_compile_options(-Ofast)
elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo")
message(STATUS "Maximum optimization for speed, debug info included")
add_compile_options(-Ofast -g)
elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "MinSizeRel")
message(STATUS "Maximum optimization for size")
add_compile_options(-Os)
else ()
message(STATUS "Minimal optimization, debug info included")
add_compile_options(-Og -g3)
endif ()
翻译一下是
翻译结果
如果(“ $ {CMAKE_BUILD_TYPE}” STREQUAL“发布”)
消息(状态“最大速度优化”)
add_compile_options(-Ofast)
elseif(“ $ {CMAKE_BUILD_TYPE}” STREQUAL“ RelWithDebInfo”)
消息(状态“最大速度优化,包括调试信息”)
add_compile_options(-Ofast -g)
elseif(“ $ {CMAKE_BUILD_TYPE}” STREQUAL“ MinSizeRel”)
消息(状态“最大尺寸优化”)
add_compile_options(-Os)
其他()
消息(状态“最小优化,包括调试信息”)
add_compile_options(-Og -g3)
万一 ()
add_compile_options
后面的
-Og -g3
均为优化参数
g0优化低,g3优化高
但是由于g3优化高有些变量会被清理优化无法响应中断时的任务
所以出问题可以试试改为g0
标签:13,12,CMAKE,TYPE,xtx,compile,add,断点,options From: https://www.cnblogs.com/xutongxin/p/17709529.html